diff options
| author | Marco Carvalho <marcolucio27@gmail.com> | 2024-06-02 17:16:48 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-02 22:16:48 +0200 |
| commit | 888402ecaf76c0ead448baaf52abbb3d48bb4ae9 (patch) | |
| tree | bc41d3cec1a0a9d3300c848c416863951b5c9fc9 /src/Ryujinx.Graphics.Gpu/Shader/DiskCache | |
| parent | 971d24aef00666df5d97cd6b0fc32e292d32240b (diff) | |
Avoid inexact read with 'Stream.Read' (#6847)
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Shader/DiskCache')
| -rw-r--r-- | src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs | 2 | ||||
| -rw-r--r-- | src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs index ab4508f6..3837092c 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs @@ -195,7 +195,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache switch (algorithm) { case CompressionAlgorithm.None: - stream.Read(data); + stream.ReadExactly(data); break; case CompressionAlgorithm.Deflate: stream = new DeflateStream(stream, CompressionMode.Decompress, true); diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs index 59d2cfb3..08cd3bb0 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheGuestStorage.cs @@ -220,7 +220,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache } dataFileStream.Seek((long)entry.Offset, SeekOrigin.Begin); - dataFileStream.Read(cb1Data); + dataFileStream.ReadExactly(cb1Data); BinarySerializer.ReadCompressed(dataFileStream, guestCode); _cache[index] = (guestCode, cb1Data); @@ -279,7 +279,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache dataFileStream.Seek((long)entry.Offset, SeekOrigin.Begin); byte[] cachedCode = new byte[entry.CodeSize]; byte[] cachedCb1Data = new byte[entry.Cb1DataSize]; - dataFileStream.Read(cachedCb1Data); + dataFileStream.ReadExactly(cachedCb1Data); BinarySerializer.ReadCompressed(dataFileStream, cachedCode); if (data.SequenceEqual(cachedCode) && cb1Data.SequenceEqual(cachedCb1Data)) |
