hi --

i commited a fix for unzip yesterday, and it occurs to me that i
should probably mention it, since it's probably a candidate for
1.8.1.  (the svn rev is r20369.)

it turs out that at least some gcc versions (our is 3.4.1 for
arm) don't fully pack structures properly -- in the case of the
zip header, the elements of the structure are packed, but the end
of the struct is padded from 26 out to 28 bytes.  unzip was
changed recently to do two things:  a) verify that the structure
is exactly 26 bytes, and b) use sizeof(zip_header) when reading
the header.  i fixed unzip.c to a) change the size check so that
a struct that is only too long will pass the test, and b) changed
the read back to using a constant value of 26.

vda -- regarding your svn 20370/20372 -- are you sure that that warning
about ATTRIBUTE_PACKED is spurious?  does ATTRIBUTE_PACKED make
sense on a union?  i tried the same thing and backed it out
because of the warning.  (also -- i don't deserve credit for the
telnetd zombie fix.  someone else, i believe.)

paul
=---------------------
 paul fox, [EMAIL PROTECTED]
_______________________________________________
busybox mailing list
busybox@busybox.net
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to