From 0d701b77592a7364529b300cbaad938326be1710 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Fri, 15 May 2015 07:53:22 +0200 Subject: 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 --- sys/src/cmd/gzip/gunzip.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/src/cmd/gzip/gunzip.c b/sys/src/cmd/gzip/gunzip.c index 2ce099633..0b0c8165e 100644 --- a/sys/src/cmd/gzip/gunzip.c +++ b/sys/src/cmd/gzip/gunzip.c @@ -236,9 +236,12 @@ header(Biobuf *bin, GZHead *h) /* 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){ -- cgit v1.2.3