From: Jonathan Dieter Date: Thu, 26 Jul 2018 22:03:11 +0000 (+0100) Subject: Fix nocomp decompression X-Git-Tag: archive/raspbian/1.1.9+ds1-1+rpi1~1^2~158 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d05aeaa7608d2d2633a553571b641828c3358aa5;p=zchunk.git Fix nocomp decompression Signed-off-by: Jonathan Dieter --- 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)) {