diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-05-30 23:41:08 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-05-30 23:41:08 +0200 |
| commit | 634ec0061f9358f03aba91dc5411c2d38de94f5c (patch) | |
| tree | 66b77b105a4f7927f590f9a67003a91ea46dcc4e /src/server/shared | |
| parent | b82332487afd7233850e7eed996615b3fdd7248c (diff) | |
Core/DataStores: Updated db2 to 7.0.3.21796
Diffstat (limited to 'src/server/shared')
| -rw-r--r-- | src/server/shared/DataStores/DB2Meta.cpp | 4 | ||||
| -rw-r--r-- | src/server/shared/DataStores/DB2Meta.h | 3 | ||||
| -rw-r--r-- | src/server/shared/DataStores/DB2SparseStorageLoader.cpp | 6 | ||||
| -rw-r--r-- | src/server/shared/DataStores/DB2StorageLoader.cpp | 6 |
4 files changed, 16 insertions, 3 deletions
diff --git a/src/server/shared/DataStores/DB2Meta.cpp b/src/server/shared/DataStores/DB2Meta.cpp index 66c18961551..bf119b52150 100644 --- a/src/server/shared/DataStores/DB2Meta.cpp +++ b/src/server/shared/DataStores/DB2Meta.cpp @@ -17,8 +17,8 @@ #include "DB2Meta.h" -DB2Meta::DB2Meta(int32 indexField, uint32 fieldCount, char const* types, uint8 const* arraySizes) - : IndexField(indexField), FieldCount(fieldCount), Types(types), ArraySizes(arraySizes) +DB2Meta::DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, char const* types, uint8 const* arraySizes) + : IndexField(indexField), FieldCount(fieldCount), LayoutHash(layoutHash), Types(types), ArraySizes(arraySizes) { } diff --git a/src/server/shared/DataStores/DB2Meta.h b/src/server/shared/DataStores/DB2Meta.h index adfdfea37fb..2c165b52d86 100644 --- a/src/server/shared/DataStores/DB2Meta.h +++ b/src/server/shared/DataStores/DB2Meta.h @@ -22,7 +22,7 @@ struct DB2Meta { - DB2Meta(int32 indexField, uint32 fieldCount, char const* types, uint8 const* arraySizes); + DB2Meta(int32 indexField, uint32 fieldCount, uint32 layoutHash, char const* types, uint8 const* arraySizes); bool HasIndexFieldInData() const; @@ -39,6 +39,7 @@ struct DB2Meta int32 IndexField; uint32 FieldCount; + uint32 LayoutHash; char const* Types; uint8 const* ArraySizes; }; diff --git a/src/server/shared/DataStores/DB2SparseStorageLoader.cpp b/src/server/shared/DataStores/DB2SparseStorageLoader.cpp index 721ce6d8813..c6e1c495b00 100644 --- a/src/server/shared/DataStores/DB2SparseStorageLoader.cpp +++ b/src/server/shared/DataStores/DB2SparseStorageLoader.cpp @@ -119,6 +119,12 @@ bool DB2SparseFileLoader::Load(const char *filename, DB2Meta const* meta) EndianConvert(layoutHash); + if (layoutHash != meta->LayoutHash) + { + fclose(f); + return false; + } + if (fread(&minIndex, 4, 1, f) != 1) // MinIndex WDB2 { fclose(f); diff --git a/src/server/shared/DataStores/DB2StorageLoader.cpp b/src/server/shared/DataStores/DB2StorageLoader.cpp index 0f45b75c8d6..fd3e0a257cd 100644 --- a/src/server/shared/DataStores/DB2StorageLoader.cpp +++ b/src/server/shared/DataStores/DB2StorageLoader.cpp @@ -119,6 +119,12 @@ bool DB2FileLoader::Load(char const* filename, DB2Meta const* meta) return false; } + if (layoutHash != meta->LayoutHash) + { + fclose(f); + return false; + } + EndianConvert(layoutHash); if (fread(&minIndex, 4, 1, f) != 1) // MinIndex WDB2 |
