aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPekka Enberg <penberg@kernel.org>2012-04-02 18:08:57 +0300
committerPekka Enberg <penberg@kernel.org>2012-04-02 18:08:57 +0300
commit9c73e4b3d95a0ff49255ce412f9c5571b2299e18 (patch)
tree210fa6489bf5a695b9dfb9f6475f35aef6beb57e
parent7fd658bec49b40ea195d7c091431e7004f05ec19 (diff)
downloadjato-9c73e4b3d95a0ff49255ce412f9c5571b2299e18.tar.gz
Fix SIGSEGV if user passes invalid file to "-jar"
Signed-off-by: Pekka Enberg <penberg@kernel.org>
-rw-r--r--lib/zip.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/zip.c b/lib/zip.c
index ee67c5e5..6e31ecf1 100644
--- a/lib/zip.c
+++ b/lib/zip.c
@@ -128,8 +128,12 @@ static void zip_delete(struct zip *zip)
free(entry->filename);
}
- free_hash_map(zip->entry_cache);
- free_hash_map(zip->class_cache);
+ if (zip->entry_cache)
+ free_hash_map(zip->entry_cache);
+
+ if (zip->class_cache)
+ free_hash_map(zip->class_cache);
+
free(zip->entries);
free(zip);
}