summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Adler <zlib@madler.net>2017-10-12 21:07:22 -0700
committerMark Adler <zlib@madler.net>2017-10-12 21:07:22 -0700
commitc376a417a724c21173f40765bd643388523b16f7 (patch)
tree3b267bc5e4db7f9ac48d5a3acbe359cc581851f2
parent288f1080317b954b6bdca33708631c011549c008 (diff)
downloadzlib-c376a417a724c21173f40765bd643388523b16f7.tar.gz
zlib-c376a417a724c21173f40765bd643388523b16f7.tar.bz2
zlib-c376a417a724c21173f40765bd643388523b16f7.zip
Fix deflateEnd() to not report an error at start of raw deflate.
-rw-r--r--deflate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/deflate.c b/deflate.c
index 568eadd..425babc 100644
--- a/deflate.c
+++ b/deflate.c
@@ -491,7 +491,7 @@ int ZEXPORT deflateResetKeep (strm)
491#ifdef GZIP 491#ifdef GZIP
492 s->wrap == 2 ? GZIP_STATE : 492 s->wrap == 2 ? GZIP_STATE :
493#endif 493#endif
494 s->wrap ? INIT_STATE : BUSY_STATE; 494 INIT_STATE;
495 strm->adler = 495 strm->adler =
496#ifdef GZIP 496#ifdef GZIP
497 s->wrap == 2 ? crc32(0L, Z_NULL, 0) : 497 s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
@@ -814,6 +814,8 @@ int ZEXPORT deflate (strm, flush)
814 } 814 }
815 815
816 /* Write the header */ 816 /* Write the header */
817 if (s->status == INIT_STATE && s->wrap == 0)
818 s->status = BUSY_STATE;
817 if (s->status == INIT_STATE) { 819 if (s->status == INIT_STATE) {
818 /* zlib header */ 820 /* zlib header */
819 uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8; 821 uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;