Skip to content

Commit 5708772

Browse files
committed
Fix NullReferenceException when Connection isn't set.
1 parent 69c21b0 commit 5708772

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/MySqlConnector/MySql.Data.MySqlClient/MySqlCommand.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,14 +161,14 @@ protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
161161
}
162162

163163
public override Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken) =>
164-
ExecuteNonQueryAsync(Connection.AsyncIOBehavior, cancellationToken);
164+
ExecuteNonQueryAsync(AsyncIOBehavior, cancellationToken);
165165

166166
internal Task<int> ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) =>
167167
!IsValid(out var exception) ? Utility.TaskFromException<int>(exception) :
168168
m_commandExecutor.ExecuteNonQueryAsync(CommandText, m_parameterCollection, ioBehavior, cancellationToken);
169169

170170
public override Task<object> ExecuteScalarAsync(CancellationToken cancellationToken) =>
171-
ExecuteScalarAsync(Connection.AsyncIOBehavior, cancellationToken);
171+
ExecuteScalarAsync(AsyncIOBehavior, cancellationToken);
172172

173173
internal Task<object> ExecuteScalarAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) =>
174174
!IsValid(out var exception) ? Utility.TaskFromException<object>(exception) :
@@ -177,7 +177,7 @@ internal Task<object> ExecuteScalarAsync(IOBehavior ioBehavior, CancellationToke
177177
protected override Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
178178
{
179179
ResetCommandTimeout();
180-
return ExecuteReaderAsync(behavior, Connection.AsyncIOBehavior, cancellationToken);
180+
return ExecuteReaderAsync(behavior, AsyncIOBehavior, cancellationToken);
181181
}
182182

183183
internal Task<DbDataReader> ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) =>
@@ -234,6 +234,8 @@ internal void ResetCommandTimeout()
234234
Connection?.Session?.SetTimeout(commandTimeout == 0 ? Constants.InfiniteTimeout : commandTimeout * 1000);
235235
}
236236

237+
private IOBehavior AsyncIOBehavior => Connection?.AsyncIOBehavior ?? IOBehavior.Asynchronous;
238+
237239
private void VerifyNotDisposed()
238240
{
239241
if (m_parameterCollection == null)

0 commit comments

Comments
 (0)