Skip to content

Commit 348e27b

Browse files
committed
Fixed length validation mishap for dec16
1 parent 92f76ba commit 348e27b

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/FirebirdSql.Data.FirebirdClient/Client/Managed/XdrReaderWriter.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ sealed class XdrReaderWriter : IXdrReader, IXdrWriter
3434
readonly Charset _charset;
3535

3636
byte[] _smallBuffer;
37+
byte[] _smallBuffer8;
3738
const int StackallocThreshold = 1024;
3839

3940
public XdrReaderWriter(IDataProvider dataProvider, Charset charset)
@@ -42,6 +43,7 @@ public XdrReaderWriter(IDataProvider dataProvider, Charset charset)
4243
_charset = charset;
4344

4445
_smallBuffer = new byte[16];
46+
_smallBuffer8 = new byte[8];
4547
}
4648

4749
public XdrReaderWriter(IDataProvider dataProvider)
@@ -443,13 +445,13 @@ public async ValueTask<FbZonedTime> ReadZonedTimeAsync(bool isExtended, Cancella
443445

444446
public FbDecFloat ReadDec16()
445447
{
446-
ReadBytes(_smallBuffer, 8);
447-
return TypeDecoder.DecodeDec16(_smallBuffer);
448+
ReadBytes(_smallBuffer8, 8);
449+
return TypeDecoder.DecodeDec16(_smallBuffer8);
448450
}
449451
public async ValueTask<FbDecFloat> ReadDec16Async(CancellationToken cancellationToken = default)
450452
{
451-
await ReadBytesAsync(_smallBuffer, 8, cancellationToken).ConfigureAwait(false);
452-
return TypeDecoder.DecodeDec16(_smallBuffer);
453+
await ReadBytesAsync(_smallBuffer8, 8, cancellationToken).ConfigureAwait(false);
454+
return TypeDecoder.DecodeDec16(_smallBuffer8);
453455
}
454456

455457
public FbDecFloat ReadDec34()

0 commit comments

Comments
 (0)