From d66f14096068ee1ffa19461b68e07095ef68a778 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 29 Dec 2017 16:43:54 +0100 Subject: Dep/CascLib: Update to ladislav-zezula/CascLib@c63818ecf8d998fae811a2d6db23045f4f6e36a1 --- dep/CascLib/src/CascRootFile_Mndx.cpp | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'dep/CascLib/src/CascRootFile_Mndx.cpp') diff --git a/dep/CascLib/src/CascRootFile_Mndx.cpp b/dep/CascLib/src/CascRootFile_Mndx.cpp index 20e3c86e3a6..bc81d088fc0 100644 --- a/dep/CascLib/src/CascRootFile_Mndx.cpp +++ b/dep/CascLib/src/CascRootFile_Mndx.cpp @@ -2713,20 +2713,27 @@ int TFileNameDatabasePtr::CreateDatabase(LPBYTE pbMarData, DWORD cbMarData) return ERROR_INVALID_PARAMETER; pDatabase = new TFileNameDatabase; - if(pDatabase == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + if(pDatabase != NULL) + { + nError = ByteStream.SetByteBuffer(pbMarData, cbMarData); + if(nError == ERROR_SUCCESS) + { + // HOTS: 1956E11 + nError = pDatabase->LoadFromStream_Exchange(ByteStream); + if(nError == ERROR_SUCCESS) + { + pDB = pDatabase; + return ERROR_SUCCESS; + } + } - nError = ByteStream.SetByteBuffer(pbMarData, cbMarData); - if(nError != ERROR_SUCCESS) + delete pDatabase; return nError; - - // HOTS: 1956E11 - nError = pDatabase->LoadFromStream_Exchange(ByteStream); - if(nError != ERROR_SUCCESS) - return nError; - - pDB = pDatabase; - return ERROR_SUCCESS; + } + else + { + return ERROR_NOT_ENOUGH_MEMORY; + } } // HOTS: 19584B0 -- cgit v1.2.3