summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/infback.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/infback.c')
-rw-r--r--gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/infback.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/infback.c b/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/infback.c
index 4f0d7baccf0..60f78dc982a 100644
--- a/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/infback.c
+++ b/gnu/usr.bin/perl/cpan/Compress-Raw-Zlib/zlib-src/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 ZEXPORT inflateBackInit_(
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 @@ int ZEXPORT inflateBack(
PULLBYTE();
}
if (here.val < 16) {
- NEEDBITS(here.bits);
DROPBITS(here.bits);
state->lens[state->have++] = here.val;
}