summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Herlant <aerostitch@users.noreply.github.com>2018-03-30 23:33:21 -0700
committerjkoan <jkoan@users.noreply.github.com>2018-03-31 08:33:21 +0200
commit9d9a8ae0e1364910e580c507fcc365045856b84b (patch)
treed13fd93aff6f560af37f1e1532915ec45968ba33
parentca8fc7ff2ac5f5bc3d32705e91e04c4c65f78448 (diff)
downloadnavit-9d9a8ae0e1364910e580c507fcc365045856b84b.tar.gz
fix:maptool: prevent memory leak when fread fails (#420)
-rw-r--r--navit/maptool/tile.c9
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;
}