--- /dev/null
+--- zlib-1.1.3/infblock.c.bar Mon Feb 18 10:34:53 2002
++++ zlib-1.1.3/infblock.c Mon Feb 18 10:37:23 2002
+@@ -249,10 +249,11 @@
+ &s->sub.trees.tb, s->hufts, z);
+ if (t != Z_OK)
+ {
+- ZFREE(z, s->sub.trees.blens);
+ r = t;
+- if (r == Z_DATA_ERROR)
+- s->mode = BAD;
++ if (r == Z_DATA_ERROR){
++ ZFREE(z, s->sub.trees.blens);
++ s->mode = BAD;
++ }
+ LEAVE
+ }
+ s->sub.trees.index = 0;
+@@ -313,11 +314,12 @@
+ t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
+ s->sub.trees.blens, &bl, &bd, &tl, &td,
+ s->hufts, z);
+- ZFREE(z, s->sub.trees.blens);
+ if (t != Z_OK)
+ {
+- if (t == (uInt)Z_DATA_ERROR)
+- s->mode = BAD;
++ if (t == (uInt)Z_DATA_ERROR){
++ ZFREE(z, s->sub.trees.blens);
++ s->mode = BAD;
++ }
+ r = t;
+ LEAVE
+ }
+@@ -329,6 +331,7 @@
+ }
+ s->sub.decode.codes = c;
+ }
++ ZFREE(z, s->sub.trees.blens);
+ s->mode = CODES;
+ case CODES:
+ UPDATE