diff options
author | Ladislav Zezula <zezula@volny.cz> | 2023-07-08 15:23:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-08 15:23:46 +0200 |
commit | 88da19d3888b2966fc396da1093965e91e58b9d5 (patch) | |
tree | c141a26aed13787b8d058bbb28019b82ee4ec016 /src/SBaseCommon.cpp | |
parent | dca8554dd78a9a7f075b5b525637cef6763dcdf2 (diff) | |
parent | ff4f40f291c83728cad766350202c56a1b22c2d8 (diff) |
Merge pull request #301 from ladislav-zezula/LZ_HeapOverflow
Fixed heap overflow
Diffstat (limited to 'src/SBaseCommon.cpp')
-rw-r--r-- | src/SBaseCommon.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/SBaseCommon.cpp b/src/SBaseCommon.cpp index 77590d6..b0029e0 100644 --- a/src/SBaseCommon.cpp +++ b/src/SBaseCommon.cpp @@ -999,18 +999,20 @@ void * LoadMpqTable( LPBYTE pbCompressed = NULL;
LPBYTE pbMpqTable;
LPBYTE pbToRead;
- DWORD dwBytesToRead = dwCompressedSize;
+ DWORD dwBytesToRead = dwTableSize;
DWORD dwErrCode = ERROR_SUCCESS;
// Allocate the MPQ table
pbMpqTable = pbToRead = STORM_ALLOC(BYTE, dwTableSize);
if(pbMpqTable != NULL)
{
- // Check if the MPQ table is encrypted
+ // Check if the MPQ table is compressed
if(dwCompressedSize < dwTableSize)
{
// Allocate temporary buffer for holding compressed data
pbCompressed = pbToRead = STORM_ALLOC(BYTE, dwCompressedSize);
+ dwBytesToRead = dwCompressedSize;
+
if(pbCompressed == NULL)
{
STORM_FREE(pbMpqTable);
|