aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2001-10-08 13:10:12 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2001-10-08 13:10:12 +0000
commit9b2589dafde8efc5327e597690c84bfbfe42d53f (patch)
tree72305feb2a6502f7f82c6e6eaabccf8aab222dcd
parentdfa7b0eff68c91a1bea329d1056390b74e11265a (diff)
downloadbusybox-w32-9b2589dafde8efc5327e597690c84bfbfe42d53f.tar.gz
busybox-w32-9b2589dafde8efc5327e597690c84bfbfe42d53f.tar.bz2
busybox-w32-9b2589dafde8efc5327e597690c84bfbfe42d53f.zip
Cleanup memory usage properly
-rw-r--r--libbb/unarchive.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libbb/unarchive.c b/libbb/unarchive.c
index beb396929..e23acfff2 100644
--- a/libbb/unarchive.c
+++ b/libbb/unarchive.c
@@ -267,7 +267,9 @@ char *unarchive(FILE *src_stream, FILE *out_stream, file_header_t *(*get_headers
267 seek_sub_file(src_stream, file_entry->size); 267 seek_sub_file(src_stream, file_entry->size);
268 } 268 }
269 free(file_entry->name); /* may be null, but doesn't matter */ 269 free(file_entry->name); /* may be null, but doesn't matter */
270 free(file_entry->link_name); 270 if (file_entry->link_name) {
271 free(file_entry->link_name);
272 }
271 free(file_entry); 273 free(file_entry);
272 } 274 }
273 return(buffer); 275 return(buffer);
@@ -614,8 +616,10 @@ char *deb_extract(const char *package_filename, FILE *out_stream,
614 fclose(deb_stream); 616 fclose(deb_stream);
615 fclose(uncompressed_stream); 617 fclose(uncompressed_stream);
616 free(ared_file); 618 free(ared_file);
617 free(file_list[0]); 619 if (filename != NULL) {
618 free(file_list); 620 free(file_list[0]);
621 free(file_list);
622 }
619 return(output_buffer); 623 return(output_buffer);
620} 624}
621#endif 625#endif