X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=inflate.c;h=bcafcf1a12368ce294aedd17eb30897561f023f6;hb=636f0d36c7b11671b8d36e80c41de03d729d92a9;hp=d372685ae995102255010a612a3b156c7aa0b752;hpb=a8a88eddaa90432e6ec1b8d9d5c9842bc91afd1d;p=debian%2Fgzip diff --git a/inflate.c b/inflate.c index d372685..bcafcf1 100644 --- a/inflate.c +++ b/inflate.c @@ -799,6 +799,12 @@ inflate_dynamic(void) NEEDBITS((unsigned)bl) j = (td = tl + ((unsigned)b & m))->b; DUMPBITS(j) + if (td->e == 99) + { + /* Invalid code. */ + huft_free (tl); + return 2; + } j = td->v.n; if (j < 16) /* length of code in bits (0..15) */ ll[i++] = l = j; /* save last length in l */