diff options
author | Shauren <shauren.trinity@gmail.com> | 2013-05-18 21:25:26 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2013-05-18 21:25:26 +0200 |
commit | 7058d8bb4c8316915ca12f415b42227464c109ef (patch) | |
tree | cf9ea1e63e2cfddd0b51ae06a480eafa470ddc34 /src/server/collision/Maps/TileAssembler.cpp | |
parent | d6709ed610a815997f918c68298ecf3ab0af0d59 (diff) |
Core/Collision: Corrected logic for closing source file in WorldModel_Raw::Read, fixes resource leak if method succeeds and prevents double free if it fails.
Closes #9823
Diffstat (limited to 'src/server/collision/Maps/TileAssembler.cpp')
-rw-r--r-- | src/server/collision/Maps/TileAssembler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp index 8cd6d92beb2..53fd2b98439 100644 --- a/src/server/collision/Maps/TileAssembler.cpp +++ b/src/server/collision/Maps/TileAssembler.cpp @@ -500,7 +500,7 @@ namespace VMAP char ident[8]; ident[7] = 0; int readOperation = 0; - + READ_OR_RETURN(&ident, 7); CMP_OR_RETURN(ident, RAW_VMAP_MAGIC); @@ -517,7 +517,7 @@ namespace VMAP for (uint32 g = 0; g < groups && succeed; ++g) succeed = groupsArray[g].Read(rf); - if (!succeed) /// rf will be freed inside Read if the function had any errors. + if (succeed) /// rf will be freed inside Read if the function had any errors. fclose(rf); return succeed; } |