diff -urpN busybox-1.18.1/archival/bzip2.c busybox-1.18.1-bzip2/archival/bzip2.c --- busybox-1.18.1/archival/bzip2.c 2010-12-20 01:41:26.000000000 +0100 +++ busybox-1.18.1-bzip2/archival/bzip2.c 2010-12-30 04:43:11.000000000 +0100 @@ -128,10 +128,12 @@ IF_DESKTOP(long long) int FAST_FUNC comp 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 -urpN busybox-1.18.1/archival/libarchive/bz/bzlib.c busybox-1.18.1-bzip2/archival/libarchive/bz/bzlib.c --- busybox-1.18.1/archival/libarchive/bz/bzlib.c 2010-12-20 01:41:26.000000000 +0100 +++ busybox-1.18.1-bzip2/archival/libarchive/bz/bzlib.c 2010-12-30 04:43:11.000000000 +0100 @@ -361,7 +361,6 @@ int BZ2_bzCompress(bz_stream *strm, int /*---------------------------------------------------*/ -#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 /*---------------------------------------------------*/