diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs index 12c7486872..bc729f7ffb 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs @@ -772,13 +772,13 @@ private DbConnectionInternal CreateObject(DbConnection owningObject, DbConnectio CheckPoolBlockingPeriod(e); - // Close Parser if connection already established. - if (newObj.IsConnectionAlive()) + // Close associated Parser if connection already established. + if (newObj != null && newObj.IsConnectionAlive()) { newObj.Dispose(); + newObj = null; // set to null, so we do not return bad new object } - newObj = null; // set to null, so we do not return bad new object // Failed to create instance _resError = e; diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs index ce86e7ff2f..c0f47af82b 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/ProviderBase/DbConnectionPool.cs @@ -907,12 +907,12 @@ private DbConnectionInternal CreateObject(DbConnection owningObject, DbConnectio } // Close associated Parser if connection already established. - if (newObj.IsConnectionAlive()) + if (newObj != null && newObj.IsConnectionAlive()) { newObj.Dispose(); + newObj = null; // set to null, so we do not return bad new object } - newObj = null; // set to null, so we do not return bad new object // Failed to create instance _resError = e;