From: Mateusz Moscicki Date: Mon, 19 Dec 2022 15:53:00 +0000 (+0100) Subject: brotli: Add cleanup after decompression is complete X-Git-Tag: accepted/tizen/unified/20230116.060918~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F09%2F285809%2F2;p=platform%2Fcore%2Fsystem%2Fupgrade.git brotli: Add cleanup after decompression is complete Change-Id: Ice1f953ae36e7b9abfffe8d674379748a946be41 --- diff --git a/src/upgrade-apply/main.c b/src/upgrade-apply/main.c index 51e1761..8799520 100644 --- a/src/upgrade-apply/main.c +++ b/src/upgrade-apply/main.c @@ -479,7 +479,7 @@ int main(int argc, char **argv) case KIND_BROTLI_PATCH: { - struct dec_funcs funcs = { init_brotli, decompress_brotli }; + struct dec_funcs funcs = { init_brotli, decompress_brotli, free_brotli }; r = apply_patch(parsed.patch_orig, parsed.dest, tar, parsed.dest_size, &funcs); break; } diff --git a/src/upgrade-apply/patch/brotli.c b/src/upgrade-apply/patch/brotli.c index b5259bb..0627c5d 100644 --- a/src/upgrade-apply/patch/brotli.c +++ b/src/upgrade-apply/patch/brotli.c @@ -47,3 +47,10 @@ int decompress_brotli(struct bs_data *data) } return PF_OK; } + +void free_brotli(struct bs_data *data) +{ + assert(data); + BrotliDecoderState *bstate = (BrotliDecoderState*)data->state; + BrotliDecoderDestroyInstance(bstate); +} diff --git a/src/upgrade-apply/patch/brotli.h b/src/upgrade-apply/patch/brotli.h index 919caac..612818a 100644 --- a/src/upgrade-apply/patch/brotli.h +++ b/src/upgrade-apply/patch/brotli.h @@ -20,3 +20,4 @@ int init_brotli(struct bs_data *data); int decompress_brotli(struct bs_data *data); +void free_brotli(struct bs_data *data); diff --git a/src/upgrade-apply/patch/patch.c b/src/upgrade-apply/patch/patch.c index be5f92f..43f609d 100644 --- a/src/upgrade-apply/patch/patch.c +++ b/src/upgrade-apply/patch/patch.c @@ -321,7 +321,7 @@ int read_header(struct dec_funcs *funcs, struct bs_data *data, uint8_t **buff_ou return PF_ERROR_OPEN_FILE; } } else if (target_size != data->dest.len) { - fprintf(stderr, "Declared target size differs from that read from the patch\n"); + fprintf(stderr, "Declared target size differs from that read from the patch (%ld [patch] != %ld [declared])\n", target_size, data->dest.len); return PF_ERROR_INVALID_PATCH_FILE; } diff --git a/src/upgrade-apply/patch/patch_helper.c b/src/upgrade-apply/patch/patch_helper.c index c85c9e6..be2d46f 100644 --- a/src/upgrade-apply/patch/patch_helper.c +++ b/src/upgrade-apply/patch/patch_helper.c @@ -20,6 +20,6 @@ int apply_patch_brotli(const char *source_file, const char *dest_file, TAR *patch_tar, size_t dest_size) { - struct dec_funcs funcs = { init_brotli, decompress_brotli }; + struct dec_funcs funcs = { init_brotli, decompress_brotli, free_brotli }; return apply_patch(source_file, dest_file, patch_tar, dest_size, &funcs); }