Skip to content

Commit f1d5f4b

Browse files
committed
Correctly encode NULL bitmap for prepared command.
1 parent 36ea9ac commit f1d5f4b

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/MySqlConnector/Core/PreparedStatementCommandExecutor.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,16 @@ private PayloadData CreateQueryPayload(PreparedStatement preparedStatement, MySq
8181
{
8282
var parameter = parameters[i];
8383
if (parameter.Value == null || parameter.Value == DBNull.Value)
84-
{
85-
if (i > 0 && i % 8 == 0)
86-
{
87-
writer.Write(nullBitmap);
88-
nullBitmap = 0;
89-
}
90-
9184
nullBitmap |= (byte) (1 << (i % 8));
85+
86+
if (i % 8 == 7)
87+
{
88+
writer.Write(nullBitmap);
89+
nullBitmap = 0;
9290
}
9391
}
94-
writer.Write(nullBitmap);
92+
if (parameters.Length % 8 != 0)
93+
writer.Write(nullBitmap);
9594

9695
// write "new parameters bound" flag
9796
writer.Write((byte) 1);

0 commit comments

Comments
 (0)