diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2001-10-08 13:10:12 +0000 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2001-10-08 13:10:12 +0000 |
commit | 9b2589dafde8efc5327e597690c84bfbfe42d53f (patch) | |
tree | 72305feb2a6502f7f82c6e6eaabccf8aab222dcd | |
parent | dfa7b0eff68c91a1bea329d1056390b74e11265a (diff) | |
download | busybox-w32-9b2589dafde8efc5327e597690c84bfbfe42d53f.tar.gz busybox-w32-9b2589dafde8efc5327e597690c84bfbfe42d53f.tar.bz2 busybox-w32-9b2589dafde8efc5327e597690c84bfbfe42d53f.zip |
Cleanup memory usage properly
-rw-r--r-- | libbb/unarchive.c | 10 |
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 |