diff options
author | Joseph Herlant <aerostitch@users.noreply.github.com> | 2018-03-30 23:33:21 -0700 |
---|---|---|
committer | jkoan <jkoan@users.noreply.github.com> | 2018-03-31 08:33:21 +0200 |
commit | 9d9a8ae0e1364910e580c507fcc365045856b84b (patch) | |
tree | d13fd93aff6f560af37f1e1532915ec45968ba33 | |
parent | ca8fc7ff2ac5f5bc3d32705e91e04c4c65f78448 (diff) | |
download | navit-9d9a8ae0e1364910e580c507fcc365045856b84b.tar.gz |
fix:maptool: prevent memory leak when fread fails (#420)
-rw-r--r-- | navit/maptool/tile.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/navit/maptool/tile.c b/navit/maptool/tile.c index cb6a78090..d9b1e004a 100644 --- a/navit/maptool/tile.c +++ b/navit/maptool/tile.c @@ -405,19 +405,18 @@ write_aux_tiles(struct zip_info *zip_info) assert(buffer != NULL); f=fopen(at->filename,"rb"); assert(f != NULL); - - if (fread(buffer, at->size, 1, f) == 0){ + + if (fread(buffer, at->size, 1, f) == 0){ dbg(lvl_warning, "fread failed"); fclose(f); - } - else{ + } else { fclose(f); write_zipmember(zip_info, at->name, zip_get_maxnamelen(zip_info), buffer, at->size); - free(buffer); count++; l=g_list_next(l); zip_add_member(zip_info); } + free(buffer); } return count; } |