--- /dev/null
+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
+
+
+ /*---------------------------------------------------*/
--- /dev/null
+diff -urpN busybox-1.18.1/archival/cpio.c busybox-1.18.1-cpio/archival/cpio.c
+--- busybox-1.18.1/archival/cpio.c 2010-12-20 01:41:26.000000000 +0100
++++ busybox-1.18.1-cpio/archival/cpio.c 2010-12-26 02:26:38.000000000 +0100
+@@ -308,16 +308,12 @@ int cpio_main(int argc UNUSED_PARAM, cha
+ /* -L makes sense only with -o or -p */
+
+ #if !ENABLE_FEATURE_CPIO_O
+- /* no parameters */
+- opt_complementary = "=0";
+ opt = getopt32(argv, OPTION_STR, &cpio_filename);
+ argv += optind;
+ if (opt & CPIO_OPT_FILE) { /* -F */
+ xmove_fd(xopen(cpio_filename, O_RDONLY), STDIN_FILENO);
+ }
+ #else
+- /* _exactly_ one parameter for -p, thus <= 1 param if -p is allowed */
+- opt_complementary = ENABLE_FEATURE_CPIO_P ? "?1" : "=0";
+ opt = getopt32(argv, OPTION_STR "oH:" IF_FEATURE_CPIO_P("p"), &cpio_filename, &cpio_fmt);
+ argv += optind;
+ if ((opt & (CPIO_OPT_FILE|CPIO_OPT_CREATE)) == CPIO_OPT_FILE) { /* -F without -o */