From bb2571e36724ac346d81317f29a8dfdb338b9441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Czern=C3=BD?= Date: Tue, 9 Feb 2021 09:10:58 +0100 Subject: [PATCH] B #5219: Fix zlib_decompress (#772) --- src/common/NebulaUtil.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/NebulaUtil.cc b/src/common/NebulaUtil.cc index ff377c2a50..a1e34b8c00 100644 --- a/src/common/NebulaUtil.cc +++ b/src/common/NebulaUtil.cc @@ -515,7 +515,7 @@ void one_util::split_unique(const string& st, char delim, set& res) /** * Buffer length for zlib inflate/deflate */ -#define ZBUFFER 65536 +#define ZBUFFER 16384 string * one_util::zlib_compress(const string& in, bool base64) { @@ -641,7 +641,8 @@ string * one_util::zlib_decompress(const string& in, bool base64) rc = inflate(&zs, Z_FINISH); - if ( rc != Z_STREAM_END && rc != Z_OK ) + if ( (rc != Z_STREAM_END && rc != Z_OK && rc != Z_BUF_ERROR) + || (rc == Z_BUF_ERROR && zs.avail_out == ZBUFFER) ) { inflateEnd(&zs);