This commit is contained in:
Adam Hathcock
2025-12-19 14:39:37 +00:00
parent 6cf2e054bf
commit b8c06ff36e

View File

@@ -428,7 +428,9 @@ public class LzmaStream : Stream, IStreamStack
private async Task DecodeChunkHeaderAsync(CancellationToken cancellationToken = default)
{
var controlBuffer = new byte[1];
await this.ReadExactlyAsync(controlBuffer, 0, 1, cancellationToken).ConfigureAwait(false);
await _inputStream
.ReadExactlyAsync(controlBuffer, 0, 1, cancellationToken)
.ConfigureAwait(false);
var control = controlBuffer[0];
_inputPosition++;
@@ -455,18 +457,23 @@ public class LzmaStream : Stream, IStreamStack
_availableBytes = (control & 0x1F) << 16;
var buffer = new byte[2];
await this.ReadExactlyAsync(buffer, 0, 2, cancellationToken).ConfigureAwait(false);
await _inputStream
.ReadExactlyAsync(buffer, 0, 2, cancellationToken)
.ConfigureAwait(false);
_availableBytes += (buffer[0] << 8) + buffer[1] + 1;
_inputPosition += 2;
await this.ReadExactlyAsync(buffer, 0, 2, cancellationToken).ConfigureAwait(false);
await _inputStream
.ReadExactlyAsync(buffer, 0, 2, cancellationToken)
.ConfigureAwait(false);
_rangeDecoderLimit = (buffer[0] << 8) + buffer[1] + 1;
_inputPosition += 2;
if (control >= 0xC0)
{
_needProps = false;
await this.ReadExactlyAsync(controlBuffer, 0, 1, cancellationToken)
await _inputStream
.ReadExactlyAsync(controlBuffer, 0, 1, cancellationToken)
.ConfigureAwait(false);
Properties[0] = controlBuffer[0];
_inputPosition++;
@@ -494,7 +501,9 @@ public class LzmaStream : Stream, IStreamStack
{
_uncompressedChunk = true;
var buffer = new byte[2];
await this.ReadExactlyAsync(buffer, 0, 2, cancellationToken).ConfigureAwait(false);
await _inputStream
.ReadExactlyAsync(buffer, 0, 2, cancellationToken)
.ConfigureAwait(false);
_availableBytes = (buffer[0] << 8) + buffer[1] + 1;
_inputPosition += 2;
}