diff -up gzip-1.3.12/inflate.c.cve-2010-0001 gzip-1.3.12/inflate.c diff -up gzip-1.3.12/unlzw.c.cve-2010-0001 gzip-1.3.12/unlzw.c --- gzip-1.3.12/unlzw.c.cve-2010-0001 2006-12-11 19:54:39.000000000 +0100 +++ gzip-1.3.12/unlzw.c 2010-01-14 14:38:58.408250047 +0100 @@ -248,7 +248,8 @@ int unlzw(in, out) int o; resetbuf: - e = insize-(o = (posbits>>3)); + o = posbits >> 3; + e = o <= insize ? insize - o : 0; for (i = 0 ; i < e ; ++i) { inbuf[i] = inbuf[i+o];