From 45d0dfbb815c5cf1177a0e4f4e6ee5677cdff237 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Wed, 5 Mar 2014 09:37:52 +0100 Subject: + Fixed ASSERT when opening a protected map with MPQ_OPEN_FORCE_MPQ_V1 --- src/SBaseFileTable.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/SBaseFileTable.cpp b/src/SBaseFileTable.cpp index 0a63cf9..40f761a 100644 --- a/src/SBaseFileTable.cpp +++ b/src/SBaseFileTable.cpp @@ -395,8 +395,9 @@ int ConvertMpqHeaderToFormat4( // Check for malformed MPQ header version 1.0 BSWAP_TMPQHEADER(pHeader, MPQ_FORMAT_VERSION_1); - if(pHeader->dwHeaderSize != MPQ_HEADER_SIZE_V1) + if(pHeader->wFormatVersion != MPQ_FORMAT_VERSION_1 || pHeader->dwHeaderSize != MPQ_HEADER_SIZE_V1) { + pHeader->wFormatVersion = MPQ_FORMAT_VERSION_1; pHeader->dwHeaderSize = MPQ_HEADER_SIZE_V1; ha->dwFlags |= MPQ_FLAG_MALFORMED; } @@ -439,7 +440,7 @@ int ConvertMpqHeaderToFormat4( // Check for malformed MPQ header version 1.0 BSWAP_TMPQHEADER(pHeader, MPQ_FORMAT_VERSION_2); - if(pHeader->dwHeaderSize != MPQ_HEADER_SIZE_V2) + if(pHeader->wFormatVersion != MPQ_FORMAT_VERSION_2 || pHeader->dwHeaderSize != MPQ_HEADER_SIZE_V2) { pHeader->wFormatVersion = MPQ_FORMAT_VERSION_1; pHeader->dwHeaderSize = MPQ_HEADER_SIZE_V1; -- cgit v1.2.3