diff --git a/archival/libunarchive/decompress_unzip.c b/archival/libunarchive/decompress_unzip.c index b85eb9981..23bf6c73c 100644 --- a/archival/libunarchive/decompress_unzip.c +++ b/archival/libunarchive/decompress_unzip.c @@ -1024,6 +1024,10 @@ extern void gz_close(int gunzip_pid) if (waitpid(gunzip_pid, NULL, 0) == -1) { printf("Couldnt wait ?"); } - free(window); - free(crc_table); + if (window) { + free(window); + } + if (crc_table) { + free(crc_table); + } } diff --git a/archival/libunarchive/unzip.c b/archival/libunarchive/unzip.c index b85eb9981..23bf6c73c 100644 --- a/archival/libunarchive/unzip.c +++ b/archival/libunarchive/unzip.c @@ -1024,6 +1024,10 @@ extern void gz_close(int gunzip_pid) if (waitpid(gunzip_pid, NULL, 0) == -1) { printf("Couldnt wait ?"); } - free(window); - free(crc_table); + if (window) { + free(window); + } + if (crc_table) { + free(crc_table); + } } diff --git a/libbb/unzip.c b/libbb/unzip.c index b85eb9981..23bf6c73c 100644 --- a/libbb/unzip.c +++ b/libbb/unzip.c @@ -1024,6 +1024,10 @@ extern void gz_close(int gunzip_pid) if (waitpid(gunzip_pid, NULL, 0) == -1) { printf("Couldnt wait ?"); } - free(window); - free(crc_table); + if (window) { + free(window); + } + if (crc_table) { + free(crc_table); + } }