From 7058d8bb4c8316915ca12f415b42227464c109ef Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 18 May 2013 21:25:26 +0200 Subject: 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 --- src/server/collision/Maps/TileAssembler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3