diff options
author | Shauren <shauren.trinity@gmail.com> | 2017-12-29 16:43:54 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-12-30 00:26:38 +0100 |
commit | d66f14096068ee1ffa19461b68e07095ef68a778 (patch) | |
tree | cbd6b6962cabb0550761082b207e7ab55fa1108d /dep/CascLib/src/CascRootFile_Mndx.cpp | |
parent | 7bb62cd23de167788b4c3dc330cdf8b5baeddc8c (diff) |
Dep/CascLib: Update to ladislav-zezula/CascLib@c63818ecf8d998fae811a2d6db23045f4f6e36a1
Diffstat (limited to 'dep/CascLib/src/CascRootFile_Mndx.cpp')
-rw-r--r-- | dep/CascLib/src/CascRootFile_Mndx.cpp | 31 |
1 files changed, 19 insertions, 12 deletions
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 |