[git commit] unzip: fix regression on big-endian machines

Denys Vlasenko vda.linux at googlemail.com
Thu Jul 27 13:38:55 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=46f3f16b587ce781ab43a7b17698e1e565b2acf7
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

This fixes a regression which was introduced with commit 2a0867a5
("unzip: optional support for bzip2 and lzma") and causes unzip to exit
with error when extracting archives:

  unzip: unsupported method 2048

Signed-off-by: Natanael Copa <ncopa at alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 archival/unzip.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/archival/unzip.c b/archival/unzip.c
index bb39d95..8ed9ae7 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -114,6 +114,7 @@ typedef union {
 
 #define FIX_ENDIANNESS_ZIP(zip) \
 do { if (BB_BIG_ENDIAN) { \
+	(zip).fmt.method        = SWAP_LE16((zip).fmt.method      ); \
 	(zip).fmt.crc32         = SWAP_LE32((zip).fmt.crc32       ); \
 	(zip).fmt.cmpsize       = SWAP_LE32((zip).fmt.cmpsize     ); \
 	(zip).fmt.ucmpsize      = SWAP_LE32((zip).fmt.ucmpsize    ); \


More information about the busybox-cvs mailing list