From d05aeaa7608d2d2633a553571b641828c3358aa5 Mon Sep 17 00:00:00 2001 From: Jonathan Dieter Date: Thu, 26 Jul 2018 23:03:11 +0100 Subject: [PATCH] Fix nocomp decompression Signed-off-by: Jonathan Dieter --- src/lib/comp/comp.c | 3 ++- src/lib/comp/nocomp/nocomp.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/comp/comp.c b/src/lib/comp/comp.c index 8581093..158b565 100644 --- a/src/lib/comp/comp.c +++ b/src/lib/comp/comp.c @@ -451,7 +451,8 @@ ssize_t comp_read(zckCtx *zck, char *dst, size_t dst_size, int use_dict) { /* Decompress compressed buffer into decompressed buffer */ size_t dc_data_size = zck->comp.dc_data_size; size_t dc_data_loc = zck->comp.dc_data_loc; - if(!zck->comp.decompress(zck, &(zck->comp), use_dict)) + if(zck->comp.data_size > 0 && + !zck->comp.decompress(zck, &(zck->comp), use_dict)) goto read_error; /* Check whether we decompressed more data */ diff --git a/src/lib/comp/nocomp/nocomp.c b/src/lib/comp/nocomp/nocomp.c index 233564d..74eb26e 100644 --- a/src/lib/comp/nocomp/nocomp.c +++ b/src/lib/comp/nocomp/nocomp.c @@ -72,7 +72,7 @@ static int decompress(zckCtx *zck, zckComp *comp, const int use_dict) { ALLOCD_BOOL(comp); char *src = comp->data; - char src_size = comp->data_size; + size_t src_size = comp->data_size; comp->data = NULL; comp->data_size = 0; if(!comp_add_to_dc(zck, comp, src, src_size)) { -- 2.30.2