diff --git a/src/resource_append.cpp b/src/resource_append.cpp index a1d5fdf..e8a1733 100644 --- a/src/resource_append.cpp +++ b/src/resource_append.cpp @@ -681,13 +681,15 @@ bool ResourceAppend::LoadResourceItemWin(const string &filePath) if (pBuffer == nullptr) { string errMsg = "map view of file error: " + to_string(GetLastError()); PrintError(GetError(ERR_CODE_READ_FILE_ERROR).FormatCause(filePath.c_str(), errMsg.c_str())); + CloseHandle(hFileMap); CloseHandle(hReadFile); return result; } char* buffer = reinterpret_cast(pBuffer); result = LoadResourceItemFromMem(buffer, fileSize); - UnmapViewOfFile(hFileMap); + UnmapViewOfFile(pBuffer); + CloseHandle(hFileMap); CloseHandle(hReadFile); return result; }