Make sure we initialize hash if it hasn't been initialized yet
authorJonathan Dieter <jdieter@gmail.com>
Mon, 3 Dec 2018 20:32:28 +0000 (20:32 +0000)
committerJonathan Dieter <jdieter@gmail.com>
Mon, 3 Dec 2018 20:32:28 +0000 (20:32 +0000)
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
src/lib/comp/comp.c

index 1a3ea55c082d4ad29427eda4cf6d8fb2511c8ba7..cd2363415aaed2e5823df4533ac0b22e6fb97d6e 100644 (file)
@@ -507,6 +507,10 @@ ssize_t comp_read(zckCtx *zck, char *dst, size_t dst_size, bool use_dict) {
             zck_log(ZCK_LOG_DDEBUG, "EOF");
             finished_rd = true;
         }
+        if(&(zck->check_chunk_hash) == NULL)
+            if(!hash_init(zck, &(zck->check_chunk_hash),
+                          &(zck->chunk_hash_type)))
+                goto hash_error;
         if(!hash_update(zck, &(zck->check_full_hash), src, rb) ||
            !hash_update(zck, &(zck->check_chunk_hash), src, rb) ||
            !comp_add_to_data(zck, &(zck->comp), src, rb))
@@ -709,6 +713,5 @@ ssize_t PUBLIC zck_get_chunk_data(zckChunk *idx, char *dst,
     if(!seek_data(zck, zck_get_chunk_start(idx), SEEK_SET))
         return -1;
     zck->comp.data_idx = idx;
-
     return comp_read(zck, dst, dst_size, 1);
 }