From 1e9f1cb3218b3ce8cca7683966234bc19647ef6d Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Tue, 11 May 2021 16:39:21 +0200 Subject: User data is returned only if there are any, actually --- src/SFileGetFileInfo.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/SFileGetFileInfo.cpp b/src/SFileGetFileInfo.cpp index 97610b2..ff1a479 100644 --- a/src/SFileGetFileInfo.cpp +++ b/src/SFileGetFileInfo.cpp @@ -233,9 +233,13 @@ bool WINAPI SFileGetFileInfo( return GetInfo(pvFileInfo, cbFileInfo, &ha->UserDataPos, sizeof(ULONGLONG), pcbLengthNeeded); case SFileMpqUserDataHeader: + if(ha->pUserData == NULL) + return GetInfo_ReturnError(ERROR_INVALID_PARAMETER); return GetInfo_ReadFromFile(pvFileInfo, cbFileInfo, ha->pStream, ha->UserDataPos, sizeof(TMPQUserData), pcbLengthNeeded); case SFileMpqUserData: + if(ha->pUserData == NULL) + return GetInfo_ReturnError(ERROR_INVALID_PARAMETER); return GetInfo_ReadFromFile(pvFileInfo, cbFileInfo, ha->pStream, ha->UserDataPos + sizeof(TMPQUserData), ha->pUserData->dwHeaderOffs - sizeof(TMPQUserData), pcbLengthNeeded); case SFileMpqHeaderOffset: -- cgit v1.2.3