From d412be39bf1d1fb78a2d0d43ad44d7e41a27fa85 Mon Sep 17 00:00:00 2001 From: akiWagashi Date: Thu, 2 Apr 2026 00:17:39 +0800 Subject: [PATCH] Fix partial reads from ZstdSharp.DecompressionStream.Read for Nexas.ArcPac --- ArcFormats/Nexas/ArcPAC.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ArcFormats/Nexas/ArcPAC.cs b/ArcFormats/Nexas/ArcPAC.cs index 3857ab17a..7c55dcfa0 100644 --- a/ArcFormats/Nexas/ArcPAC.cs +++ b/ArcFormats/Nexas/ArcPAC.cs @@ -316,7 +316,13 @@ static private byte[] ZstdDecompress (Stream s, uint unpackedSize) using (var ds = new ZstdSharp.DecompressionStream (s)) { var dst = new byte[unpackedSize]; - ds.Read (dst, 0, dst.Length); + int decompressedSize = 0; + + while(decompressedSize < unpackedSize) + { + decompressedSize += ds.Read(dst, decompressedSize, (int)unpackedSize - decompressedSize); + } + return dst; } }