diff -uprk.orig zlib-1.2.1.1.orig/infback.c zlib-1.2.1.1/infback.c --- zlib-1.2.1.1.orig/infback.c 2003-08-12 03:48:06 +0400 +++ zlib-1.2.1.1/infback.c 2004-08-24 18:45:17 +0400 @@ -434,6 +434,9 @@ int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) } } + if (state->mode == BAD) + break; + /* build code tables */ state->next = state->codes; state->lencode = (code const FAR *)(state->next); diff -uprk.orig zlib-1.2.1.1.orig/inflate.c zlib-1.2.1.1/inflate.c --- zlib-1.2.1.1.orig/inflate.c 2003-10-26 09:15:36 +0300 +++ zlib-1.2.1.1/inflate.c 2004-08-24 18:40:39 +0400 @@ -861,6 +861,9 @@ int ZEXPORT inflate(strm, flush) } } + if (state->mode == BAD) + break; + /* build code tables */ state->next = state->codes; state->lencode = (code const FAR *)(state->next);