From 503ab19d3d4253fb013752572c19c314d19de792 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Sun, 13 Feb 2022 07:40:22 +0100 Subject: SFileAddListFile optimized for protectors that set too large hash table --- src/SBaseCommon.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/SBaseCommon.cpp') diff --git a/src/SBaseCommon.cpp b/src/SBaseCommon.cpp index 5b81bad..1209719 100644 --- a/src/SBaseCommon.cpp +++ b/src/SBaseCommon.cpp @@ -992,7 +992,7 @@ void * LoadMpqTable( DWORD dwCompressedSize, DWORD dwTableSize, DWORD dwKey, - bool * pbTableIsCut) + DWORD * PtrRealTableSize) { ULONGLONG FileSize = 0; LPBYTE pbCompressed = NULL; @@ -1037,13 +1037,15 @@ void * LoadMpqTable( // Fill the extra data with zeros dwBytesToRead = (DWORD)(FileSize - ByteOffset); memset(pbMpqTable + dwBytesToRead, 0, (dwTableSize - dwBytesToRead)); - - // Give the caller information that the table was cut - if(pbTableIsCut != NULL) - pbTableIsCut[0] = true; } } + // Give the caller information that the table was cut + if(PtrRealTableSize != NULL) + { + PtrRealTableSize[0] = dwBytesToRead; + } + // If everything succeeded, read the raw table from the MPQ if(FileStream_Read(ha->pStream, &ByteOffset, pbToRead, dwBytesToRead)) { -- cgit v1.2.3