diff options
author | Denys Vlasenko | 2010-12-30 04:43:35 +0100 |
---|---|---|
committer | Denys Vlasenko | 2010-12-30 04:43:35 +0100 |
commit | ed9b08d1c1bbccd1bcb2c3e06b0095b6b99dc96c (patch) | |
tree | bd9a9b9f6b4ced902e90ec7024ca4c6b4dcd1ec7 | |
parent | 2753aae0e8728f527bedf103b1207857b7c3e151 (diff) | |
download | busybox-ed9b08d1c1bbccd1bcb2c3e06b0095b6b99dc96c.zip busybox-ed9b08d1c1bbccd1bcb2c3e06b0095b6b99dc96c.tar.gz |
bzip2: plug memory leak on every processed file
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | archival/bzip2.c | 6 | ||||
-rw-r--r-- | archival/libarchive/bz/bzlib.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/archival/bzip2.c b/archival/bzip2.c index a6abc93..ab08ffc 100644 --- a/archival/bzip2.c +++ b/archival/bzip2.c @@ -128,10 +128,12 @@ IF_DESKTOP(long long) int FAST_FUNC compressStream(unpack_info_t *info UNUSED_PA break; } -#if ENABLE_FEATURE_CLEAN_UP + /* Can't be conditional on ENABLE_FEATURE_CLEAN_UP - + * we are called repeatedly + */ BZ2_bzCompressEnd(strm); free(iobuf); -#endif + return total; } diff --git a/archival/libarchive/bz/bzlib.c b/archival/libarchive/bz/bzlib.c index b3beeab..5f7db74 100644 --- a/archival/libarchive/bz/bzlib.c +++ b/archival/libarchive/bz/bzlib.c @@ -361,7 +361,6 @@ int BZ2_bzCompress(bz_stream *strm, int action) /*---------------------------------------------------*/ -#if ENABLE_FEATURE_CLEAN_UP static void BZ2_bzCompressEnd(bz_stream *strm) { @@ -372,9 +371,8 @@ void BZ2_bzCompressEnd(bz_stream *strm) free(s->arr2); free(s->ftab); free(s->crc32table); - free(strm->state); + free(s); } -#endif /*---------------------------------------------------*/ |