diff -urdN zlib-1.2.1.orig/inflate.c zlib-1.2.1/inflate.c
--- zlib-1.2.1.orig/inflate.c	2003-10-26 01:15:36.000000000 -0500
+++ zlib-1.2.1/inflate.c	2004-03-03 14:44:11.000000000 -0500
@@ -860,6 +860,8 @@
                         state->lens[state->have++] = (unsigned short)len;
                 }
             }
+            if (state->mode == BAD)
+            	break;
 
             /* build code tables */
             state->next = state->codes;
