summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Herlant <aerostitch@users.noreply.github.com>2018-05-24 13:19:01 -0700
committerGitHub <noreply@github.com>2018-05-24 13:19:01 -0700
commitb74329764358cd2e34c87f5a235967f3736dd04d (patch)
treec7a97767c591f21dfb841d132b80e17d0a11cdff
parent2523dd28f42214ddf83367873b3163225045df3c (diff)
downloadnavit-b74329764358cd2e34c87f5a235967f3736dd04d.tar.gz
fix:maptool:coverity #262887 - leaked_storage: Variable f going out of scope leaks the storage it points to. (#598)
-rw-r--r--navit/maptool/buffer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/navit/maptool/buffer.c b/navit/maptool/buffer.c
index 68160f789..35f804b5e 100644
--- a/navit/maptool/buffer.c
+++ b/navit/maptool/buffer.c
@@ -71,13 +71,14 @@ load_buffer(char *filename, struct buffer *b, long long offset, long long size)
}
b->size=b->malloced=size;
dbg_assert(b->size>0);
-
+
fseeko(f, offset, SEEK_SET);
b->base=g_malloc(b->size);
if (fread(b->base, b->size, 1, f) == 0){
dbg(lvl_warning, "fread failed");
+ fclose(f);
return 0;
- }
+ }
fclose(f);
return 1;
}