From eae949540ccd2e67cc3c058e2478fd26051422ab Mon Sep 17 00:00:00 2001 From: Colin Percival Date: Fri, 29 May 2015 23:20:57 -0700 Subject: [PATCH] Free any allocated memory upon allocation failure --- libarchive/archive_write_disk_set_standard_lookup.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libarchive/archive_write_disk_set_standard_lookup.c b/libarchive/archive_write_disk_set_standard_lookup.c index cf544dd7b..3b868fbad 100644 --- a/libarchive/archive_write_disk_set_standard_lookup.c +++ b/libarchive/archive_write_disk_set_standard_lookup.c @@ -86,6 +86,11 @@ archive_write_disk_set_standard_lookup(struct archive *a) { struct bucket *ucache = malloc(cache_size * sizeof(struct bucket)); struct bucket *gcache = malloc(cache_size * sizeof(struct bucket)); + if (ucache == NULL || gcache == NULL) { + free(ucache); + free(gcache); + return (ARCHIVE_FATAL); + } memset(ucache, 0, cache_size * sizeof(struct bucket)); memset(gcache, 0, cache_size * sizeof(struct bucket)); archive_write_disk_set_group_lookup(a, gcache, lookup_gid, cleanup); -- 2.47.2