summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2010-12-30 08:45:29 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2010-12-30 08:45:29 +0100
commitbd891474cc9f15c5105124fac6f25b6adf86536f (patch)
tree886d4872aeb93ffe21f3add109a4a26de513ff1b
parentfe008aaf38f3ac2d8083ec88f68616c721cd5c53 (diff)
busybox: 1.18.1 fixes for bzip2 and cpio
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/busybox/busybox-1.18.1/busybox-1.18.1-bzip2.patch40
-rw-r--r--package/busybox/busybox-1.18.1/busybox-1.18.1-cpio.patch20
2 files changed, 60 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.18.1/busybox-1.18.1-bzip2.patch b/package/busybox/busybox-1.18.1/busybox-1.18.1-bzip2.patch
new file mode 100644
index 000000000..cffa19435
--- /dev/null
+++ b/package/busybox/busybox-1.18.1/busybox-1.18.1-bzip2.patch
@@ -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
+
+
+ /*---------------------------------------------------*/
diff --git a/package/busybox/busybox-1.18.1/busybox-1.18.1-cpio.patch b/package/busybox/busybox-1.18.1/busybox-1.18.1-cpio.patch
new file mode 100644
index 000000000..135f8091c
--- /dev/null
+++ b/package/busybox/busybox-1.18.1/busybox-1.18.1-cpio.patch
@@ -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 */