diff options
author | Shauren <shauren.trinity@gmail.com> | 2013-05-28 17:37:10 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2013-05-28 17:37:10 +0200 |
commit | 26a22dc3ab98538297f72b80dc12ed6e2295384f (patch) | |
tree | 3cdb5fa99cb2df6ebcb5f283120254afaa4898b1 /src/server/collision/Maps/TileAssembler.cpp | |
parent | 0938fdeeec47bca2304cd77be8169f61a0c23654 (diff) |
Tools/Extractors: Fixed many false positive err=2 messages and fixed many compile warnings
Diffstat (limited to 'src/server/collision/Maps/TileAssembler.cpp')
-rw-r--r-- | src/server/collision/Maps/TileAssembler.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp index aca7c02e79f..90bfe01b561 100644 --- a/src/server/collision/Maps/TileAssembler.cpp +++ b/src/server/collision/Maps/TileAssembler.cpp @@ -345,10 +345,13 @@ namespace VMAP uint32 name_length, displayId; char buff[500]; - while (!feof(model_list)) + while (true) { - if (fread(&displayId, sizeof(uint32), 1, model_list) != 1 - || fread(&name_length, sizeof(uint32), 1, model_list) != 1 + if (fread(&displayId, sizeof(uint32), 1, model_list) != 1) + if (!feof(model_list)) // EOF flag is only set after failed reading attempt + break; + + if (fread(&name_length, sizeof(uint32), 1, model_list) != 1 || name_length >= sizeof(buff) || fread(&buff, sizeof(char), name_length, model_list) != name_length) { @@ -359,7 +362,7 @@ namespace VMAP std::string model_name(buff, name_length); WorldModel_Raw raw_model; - if ( !raw_model.Read((iSrcDir + "/" + model_name).c_str()) ) + if (!raw_model.Read((iSrcDir + "/" + model_name).c_str()) ) continue; spawnedModelFiles.insert(model_name); |