aboutsummaryrefslogtreecommitdiff
path: root/dep/CascLib/src/CascRootFile_Mndx.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-12-29 16:43:54 +0100
committerShauren <shauren.trinity@gmail.com>2017-12-30 00:26:38 +0100
commitd66f14096068ee1ffa19461b68e07095ef68a778 (patch)
treecbd6b6962cabb0550761082b207e7ab55fa1108d /dep/CascLib/src/CascRootFile_Mndx.cpp
parent7bb62cd23de167788b4c3dc330cdf8b5baeddc8c (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.cpp31
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