diff options
Diffstat (limited to 'src/server/collision/Maps/TileAssembler.cpp')
-rw-r--r-- | src/server/collision/Maps/TileAssembler.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp index ba1ae275c9a..8cd6d92beb2 100644 --- a/src/server/collision/Maps/TileAssembler.cpp +++ b/src/server/collision/Maps/TileAssembler.cpp @@ -498,9 +498,10 @@ namespace VMAP } char ident[8]; + ident[7] = 0; int readOperation = 0; - - READ_OR_RETURN(&ident, 8); + + READ_OR_RETURN(&ident, 7); CMP_OR_RETURN(ident, RAW_VMAP_MAGIC); // we have to read one int. This is needed during the export and we have to skip it here @@ -516,7 +517,8 @@ namespace VMAP for (uint32 g = 0; g < groups && succeed; ++g) succeed = groupsArray[g].Read(rf); - fclose(rf); + if (!succeed) /// rf will be freed inside Read if the function had any errors. + fclose(rf); return succeed; } |