summaryrefslogtreecommitdiffstats
path: root/compat/zlib/infback.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-05-03 20:41:22 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-05-03 20:41:22 (GMT)
commit47d7aa4020e2cd163aeba6435d2a701ad48bee45 (patch)
tree7bd7477b079cef72b27e17b8aad253e764424f27 /compat/zlib/infback.c
parent8124b5fb585273485814508c23908f35f44d3fba (diff)
downloadtcl-47d7aa4020e2cd163aeba6435d2a701ad48bee45.zip
tcl-47d7aa4020e2cd163aeba6435d2a701ad48bee45.tar.gz
tcl-47d7aa4020e2cd163aeba6435d2a701ad48bee45.tar.bz2
zlib-1.2.7
Diffstat (limited to 'compat/zlib/infback.c')
-rw-r--r--compat/zlib/infback.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/compat/zlib/infback.c b/compat/zlib/infback.c
index af3a8c9..981aff1 100644
--- a/compat/zlib/infback.c
+++ b/compat/zlib/infback.c
@@ -1,5 +1,5 @@
/* infback.c -- inflate using a call-back interface
- * Copyright (C) 1995-2009 Mark Adler
+ * Copyright (C) 1995-2011 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
@@ -42,10 +42,19 @@ int stream_size;
return Z_STREAM_ERROR;
strm->msg = Z_NULL; /* in case we return an error */
if (strm->zalloc == (alloc_func)0) {
+#ifdef Z_SOLO
+ return Z_STREAM_ERROR;
+#else
strm->zalloc = zcalloc;
strm->opaque = (voidpf)0;
+#endif
}
- if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+ if (strm->zfree == (free_func)0)
+#ifdef Z_SOLO
+ return Z_STREAM_ERROR;
+#else
+ strm->zfree = zcfree;
+#endif
state = (struct inflate_state FAR *)ZALLOC(strm, 1,
sizeof(struct inflate_state));
if (state == Z_NULL) return Z_MEM_ERROR;
@@ -394,7 +403,6 @@ void FAR *out_desc;
PULLBYTE();
}
if (here.val < 16) {
- NEEDBITS(here.bits);
DROPBITS(here.bits);
state->lens[state->have++] = here.val;
}