zlib.patch 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. diff -u3 zlib-1.1.3/infblock.c zlib-1.1.4/infblock.c
  2. --- zlib-1.1.3/infblock.c Mon Jun 8 19:06:16 1998
  3. +++ zlib-1.1.4/infblock.c Mon Mar 11 14:16:01 2002
  4. @@ -249,10 +249,12 @@
  5. &s->sub.trees.tb, s->hufts, z);
  6. if (t != Z_OK)
  7. {
  8. - ZFREE(z, s->sub.trees.blens);
  9. r = t;
  10. if (r == Z_DATA_ERROR)
  11. + {
  12. + ZFREE(z, s->sub.trees.blens);
  13. s->mode = BAD;
  14. + }
  15. LEAVE
  16. }
  17. s->sub.trees.index = 0;
  18. @@ -313,11 +315,13 @@
  19. t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
  20. s->sub.trees.blens, &bl, &bd, &tl, &td,
  21. s->hufts, z);
  22. - ZFREE(z, s->sub.trees.blens);
  23. if (t != Z_OK)
  24. {
  25. if (t == (uInt)Z_DATA_ERROR)
  26. + {
  27. + ZFREE(z, s->sub.trees.blens);
  28. s->mode = BAD;
  29. + }
  30. r = t;
  31. LEAVE
  32. }
  33. @@ -329,6 +333,7 @@
  34. }
  35. s->sub.decode.codes = c;
  36. }
  37. + ZFREE(z, s->sub.trees.blens);
  38. s->mode = CODES;
  39. case CODES:
  40. UPDATE