From: dosomder Date: Sat, 12 Mar 2016 17:52:33 +0000 (+0100) Subject: Use LZ4_decompress_safe_usingDict for reading X-Git-Tag: v3.1.901a~9^2~10^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bcfa1f80be128ecd24e78774db3abed85180f99d;p=thirdparty%2Flibarchive.git Use LZ4_decompress_safe_usingDict for reading This function was added on May 4, 2014 https://github.com/Cyan4973/lz4/blob/7bcb3b2e9f36ad6adef2cb43858a8f3adb39c527/lz4.h The old function LZ4_decompress_safe_withPrefix64k is deprecated since April 11, 2015 https://github.com/Cyan4973/lz4/blob/973e385fa332485f4617cf16406a8c8ef631a555/lib/lz4.h --- diff --git a/libarchive/archive_read_support_filter_lz4.c b/libarchive/archive_read_support_filter_lz4.c index db62cb355..e877917b9 100644 --- a/libarchive/archive_read_support_filter_lz4.c +++ b/libarchive/archive_read_support_filter_lz4.c @@ -580,10 +580,19 @@ lz4_filter_read_data_block(struct archive_read_filter *self, const void **p) prefix64k); } } +#if LZ4_VERSION_MAJOR >= 1 && LZ4_VERSION_MINOR >= 7 + uncompressed_size = LZ4_decompress_safe_usingDict( + read_buf + 4, + state->out_block + prefix64k, (int)compressed_size, + state->flags.block_maximum_size, + state->out_block, + prefix64k); +#else uncompressed_size = LZ4_decompress_safe_withPrefix64k( read_buf + 4, state->out_block + prefix64k, (int)compressed_size, state->flags.block_maximum_size); +#endif } /* Check if an error happend in decompression process. */