summaryrefslogtreecommitdiff
path: root/deflate.c
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 /deflate.c
parent288f1080317b954b6bdca33708631c011549c008 (diff)
downloadzlib-c376a417a724c21173f40765bd643388523b16f7.tar.gz
Fix deflateEnd() to not report an error at start of raw deflate.
Diffstat (limited to 'deflate.c')
-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)
#ifdef GZIP
s->wrap == 2 ? GZIP_STATE :
#endif
- s->wrap ? INIT_STATE : BUSY_STATE;
+ INIT_STATE;
strm->adler =
#ifdef GZIP
s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
@@ -814,6 +814,8 @@ int ZEXPORT deflate (strm, flush)
}
/* Write the header */
+ if (s->status == INIT_STATE && s->wrap == 0)
+ s->status = BUSY_STATE;
if (s->status == INIT_STATE) {
/* zlib header */
uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;