ref: 770e1318f281287fb043ad46250a8fb1caea19ca
parent: 8b3f4d8a37dce7944e0fb5ca716ad6eadbe7d7d8
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri May 15 03:53:22 EDT 2015
gunzip: the extra length field (XLEN) is two bytes instead of one example file: https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R50f.tgz
--- a/sys/src/cmd/gzip/gunzip.c
+++ b/sys/src/cmd/gzip/gunzip.c
@@ -236,9 +236,12 @@
/* OS type */
get1(bin);
- if(flag & GZFEXTRA)
- for(i=get1(bin); i>0; i--)
+ if(flag & GZFEXTRA){+ i = get1(bin);
+ i |= get1(bin)<<8;
+ for(; i>0; i--)
get1(bin);
+ }
/* name */
if(flag & GZFNAME){--
⑨