unzip: fix regression on big-endian machines
authorNatanael Copa <ncopa@alpinelinux.org>
Tue, 25 Jul 2017 18:44:50 +0000 (20:44 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 27 Jul 2017 13:38:55 +0000 (15:38 +0200)
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@alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
archival/unzip.c

index bb39d954ec2c22ec621597d31caf11802ffb892b..8ed9ae7d5ed28a7617a4b33eec6c4553b21882f6 100644 (file)
@@ -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    ); \