Commit bd891474 authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

busybox: 1.18.1 fixes for bzip2 and cpio

parent fe008aaf
Loading
Loading
Loading
Loading
+40 −0
Original line number Diff line number Diff line
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
 
 
 /*---------------------------------------------------*/
+20 −0
Original line number Diff line number Diff line
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 */