[BusyBox 0001146]: gunzip broken in SVN
bugs at busybox.net
bugs at busybox.net
Wed Jan 10 14:41:47 UTC 2007
A NOTE has been added to this issue.
======================================================================
http://busybox.net/bugs/view.php?id=1146
======================================================================
Reported By: espakman
Assigned To: BusyBox
======================================================================
Project: BusyBox
Issue ID: 1146
Category: Other
Reproducibility: always
Severity: major
Priority: normal
Status: assigned
======================================================================
Date Submitted: 01-08-2007 14:47 PST
Last Modified: 01-10-2007 06:41 PST
======================================================================
Summary: gunzip broken in SVN
Description:
In the current SVN version of busybox, gunzip is broken.
Testcase:
# ./busybox gunzip uClibc-0.9.28.tar.gz
gunzip: crc error
gunzip: error inflating
======================================================================
----------------------------------------------------------------------
vda - 01-09-07 15:58
----------------------------------------------------------------------
Just compiled svn, and:
# wget
http://debian.csail.mit.edu/pub/linux/libs/uclibc/uClibc-0.9.28.tar.gz
Connecting to debian.csail.mit.edu[128.30.2.36]:80
uClibc-0.9.28.tar.gz 100% |************************************| 2352 KB
00:00:00 ETA
# ./busybox gunzip uClibc-0.9.28.tar.gz
Please give URL to uClibc-0.9.28.tar.gz you use for testing and attach
your config.
----------------------------------------------------------------------
rockeychu - 01-10-07 06:41
----------------------------------------------------------------------
Indeed, since revision 17168, gunzip is broken by uninitialized variables
of "n" and "d". (Only first 32kB data is OK, that is, any file size <=32kB
is OK).
The following patch solves this BUG:
Index: archival/libunarchive/decompress_unzip.c
===================================================================
--- archival/libunarchive/decompress_unzip.c (revision 17224)
+++ archival/libunarchive/decompress_unzip.c (working copy)
@@ -479,6 +479,7 @@
{
unsigned e; /* table entry flag/number of extra bits */
huft_t *t; /* pointer to table entry */
+ static unsigned n, d; /* length and index for copy */
if (resume_copy) goto do_copy;
@@ -510,10 +511,6 @@
return 1; // We have a block to read
}
} else { /* it's an EOB or a length */
- /* length and index for copy */
- unsigned n = n; /* for gcc */
- unsigned d = d; /* for gcc */
-
/* exit if end of block */
if (e == 15) {
break;
Issue History
Date Modified Username Field Change
======================================================================
01-08-07 14:47 espakman New Issue
01-08-07 14:47 espakman Status new => assigned
01-08-07 14:47 espakman Assigned To => BusyBox
01-09-07 15:58 vda Note Added: 0001976
01-10-07 06:41 rockeychu Note Added: 0001982
======================================================================
More information about the busybox-cvs
mailing list