busybox: 1.18.1 fixes for bzip2 and cpio

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2010-12-30 08:45:29 +01:00
parent fe008aaf38
commit bd891474cc
2 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,40 @@
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
/*---------------------------------------------------*/

View File

@ -0,0 +1,20 @@
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 */