diff options
| author | Alejandro R. SedeƱo <asedeno@mit.edu> | 2018-05-24 22:08:04 -0400 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2018-05-25 10:04:08 +0200 | 
| commit | d0f1d6c8fa08a55a61186b836024a1b8537badbc (patch) | |
| tree | 3541ff199b12e5b32da790b484f752fbf1873941 | |
| parent | 3e0dee065f3a286d5ea85e767d2369a4061c8a55 (diff) | |
content_encoding: handle zlib versions too old for Z_BLOCK
Fallback on Z_SYNC_FLUSH when Z_BLOCK is not available.
Fixes #2606
Closes #2608
| -rw-r--r-- | lib/content_encoding.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/content_encoding.c b/lib/content_encoding.c index 7c979efcc..b1c5b5012 100644 --- a/lib/content_encoding.c +++ b/lib/content_encoding.c @@ -190,7 +190,13 @@ static CURLcode inflate_stream(struct connectdata *conn,      z->next_out = (Bytef *) decomp;      z->avail_out = DSIZ; +#ifdef Z_BLOCK +    /* Z_BLOCK is only available in zlib ver. >= 1.2.0.5 */      status = inflate(z, Z_BLOCK); +#else +    /* fallback for zlib ver. < 1.2.0.5 */ +    status = inflate(z, Z_SYNC_FLUSH); +#endif      /* Flush output data if some. */      if(z->avail_out != DSIZ) {  | 
