Blob Blame History Raw
--- gzip-1.3.3/unlzh.c.4335	1999-10-06 07:00:00.000000000 +0200
+++ gzip-1.3.3/unlzh.c	2006-09-07 09:41:41.000000000 +0200
@@ -149,7 +149,11 @@
     unsigned i, k, len, ch, jutbits, avail, nextcode, mask;
 
     for (i = 1; i <= 16; i++) count[i] = 0;
-    for (i = 0; i < (unsigned)nchar; i++) count[bitlen[i]]++;
+    for (i = 0; i < (unsigned)nchar; i++) {
+        if (bitlen[i] > 16)
+        error("Bad table (case a)\n");
+        else count[bitlen[i]]++;
+    }
 
     start[1] = 0;
     for (i = 1; i <= 16; i++)