aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0001-unzip-fix-regression-on-big-endian-machines.patch
blob: e0307430cfe6d75e3e96717ed7d19fdbb5eec427 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From 32ba988add53a003cf086ac660809f2a33a55b02 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Tue, 25 Jul 2017 20:38:18 +0200
Subject: [PATCH] unzip: fix regression on big-endian machines

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>
---
 archival/unzip.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/archival/unzip.c b/archival/unzip.c
index bb39d954e..8ed9ae7d5 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    ); \
-- 
2.13.2