From ea358185a66677ed29f3f1c0848b7c95ede8f819 Mon Sep 17 00:00:00 2001 From: Crsky Date: Thu, 2 Apr 2026 05:22:49 +0800 Subject: [PATCH] fix: Avoid infinite loop --- ArcFormats/Nexas/ArcPAC.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ArcFormats/Nexas/ArcPAC.cs b/ArcFormats/Nexas/ArcPAC.cs index 7c55dcfa..31bb3a52 100644 --- a/ArcFormats/Nexas/ArcPAC.cs +++ b/ArcFormats/Nexas/ArcPAC.cs @@ -318,9 +318,12 @@ namespace GameRes.Formats.NeXAS var dst = new byte[unpackedSize]; int decompressedSize = 0; - while(decompressedSize < unpackedSize) + while (decompressedSize < unpackedSize) { - decompressedSize += ds.Read(dst, decompressedSize, (int)unpackedSize - decompressedSize); + var count = ds.Read (dst, decompressedSize, (int)unpackedSize-decompressedSize); + if (0 == count) + return dst; + decompressedSize += count; } return dst;