diff options
author | Ladislav <Zezula> | 2014-01-03 18:56:23 +0100 |
---|---|---|
committer | Ladislav <Zezula> | 2014-01-03 18:56:23 +0100 |
commit | 6cd009bc7cb60b4000e2267c7d100a3f0d9a42a0 (patch) | |
tree | 7e2b5dd6f85855c284067442fc6ebce5c95409f3 /src/SBaseFileTable.cpp | |
parent | 3a9a6ec46beaf839cfe4fe8b6a26e1ca5e2d0316 (diff) |
+ Version 9.00 released
Diffstat (limited to 'src/SBaseFileTable.cpp')
-rw-r--r-- | src/SBaseFileTable.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/SBaseFileTable.cpp b/src/SBaseFileTable.cpp index 322211c..54b66c4 100644 --- a/src/SBaseFileTable.cpp +++ b/src/SBaseFileTable.cpp @@ -270,6 +270,10 @@ static ULONGLONG DetermineArchiveSize_V1_V2( if(pHeader->dwBlockTablePos + (pHeader->dwBlockTableSize * sizeof(TMPQBlock)) == pHeader->dwArchiveSize) return pHeader->dwArchiveSize; + // If both block table and archive size seem to be out of the file size + if(pHeader->dwBlockTablePos > FileSize && pHeader->dwArchiveSize > FileSize) + return pHeader->dwArchiveSize; + // If the archive size in the header is less than real file size dwArchiveSize32 = (DWORD)(FileSize - MpqOffset); if(pHeader->dwArchiveSize <= dwArchiveSize32) |