summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Mohr <alexander.m.mohr@mercedes-benz.com>2022-07-05 18:52:50 (GMT)
committerAlexander Mohr <alexander.m.mohr@mercedes-benz.com>2022-07-05 19:14:34 (GMT)
commit0ac3c74de1b6de584c361f3e9485dde35f10c756 (patch)
tree24ad2216f485618fb07a09fd4e1c67bf352dc487
parent42eb47d42f041054140b8e08ffc6ba85e9f092f2 (diff)
downloadlz4-0ac3c74de1b6de584c361f3e9485dde35f10c756.zip
lz4-0ac3c74de1b6de584c361f3e9485dde35f10c756.tar.gz
lz4-0ac3c74de1b6de584c361f3e9485dde35f10c756.tar.bz2
review: fix findings
* replace assert with test for LZ4F_uncompressedUpdate * update documentation to incldue correct docstring * remove unecessary entry point * remove compress_linked_block_mode from fuzzing test Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
-rw-r--r--contrib/meson/meson/examples/meson.build2
-rw-r--r--contrib/meson/meson/lib/meson.build2
-rw-r--r--doc/lz4frame_manual.html1
-rw-r--r--lib/lz4frame.c2
-rw-r--r--lib/lz4hc.h12
-rw-r--r--ossfuzz/round_trip_frame_uncompressed_fuzzer.c8
6 files changed, 4 insertions, 23 deletions
diff --git a/contrib/meson/meson/examples/meson.build b/contrib/meson/meson/examples/meson.build
index f6b6c41..65f54ca 100644
--- a/contrib/meson/meson/examples/meson.build
+++ b/contrib/meson/meson/examples/meson.build
@@ -26,7 +26,7 @@ foreach e, src : examples
executable(
e,
lz4_source_root / 'examples' / src,
- dependencies: [liblz4_dep, liblz4_internal_dep],
+ dependencies: [liblz4_internal_dep],
install: false
)
endforeach
diff --git a/contrib/meson/meson/lib/meson.build b/contrib/meson/meson/lib/meson.build
index 2ff294d..469cd09 100644
--- a/contrib/meson/meson/lib/meson.build
+++ b/contrib/meson/meson/lib/meson.build
@@ -43,7 +43,7 @@ liblz4_dep = declare_dependency(
include_directories: include_directories(lz4_source_root / 'lib')
)
-if get_option('tests') or get_option('programs')
+if get_option('tests') or get_option('programs') or get_option('examples')
liblz4_internal = static_library(
'lz4-internal',
objects: liblz4.extract_all_objects(recursive: true),
diff --git a/doc/lz4frame_manual.html b/doc/lz4frame_manual.html
index c55c6e9..0ae5150 100644
--- a/doc/lz4frame_manual.html
+++ b/doc/lz4frame_manual.html
@@ -355,6 +355,7 @@ LZ4F_errorCode_t LZ4F_freeDecompressionContext(LZ4F_dctx* dctx);
After an error, the state is left in a UB state, and must be re-initialized or freed.
If previously a compressed block was written, buffered data is flushed
before appending uncompressed data is continued.
+ This is only supported when LZ4F_blockIndependent is used
`cOptPtr` is optional : NULL can be provided, in which case all options are set to default.
@return : number of bytes written into `dstBuffer` (it can be zero, meaning input data was just buffered).
or an error code if it fails (which can be tested using LZ4F_isError())
diff --git a/lib/lz4frame.c b/lib/lz4frame.c
index 3042d6f..80e244b 100644
--- a/lib/lz4frame.c
+++ b/lib/lz4frame.c
@@ -1026,7 +1026,7 @@ size_t LZ4F_uncompressedUpdate(LZ4F_cctx* cctxPtr,
void* dstBuffer, size_t dstCapacity,
const void* srcBuffer, size_t srcSize,
const LZ4F_compressOptions_t* compressOptionsPtr) {
- assert(cctxPtr->prefs.frameInfo.blockMode == LZ4F_blockIndependent);
+ RETURN_ERROR_IF(cctxPtr->prefs.frameInfo.blockMode != LZ4F_blockIndependent, blockMode_invalid);
return LZ4F_compressUpdateImpl(cctxPtr,
dstBuffer, dstCapacity,
srcBuffer, srcSize,
diff --git a/lib/lz4hc.h b/lib/lz4hc.h
index 3b31624..f4afc9b 100644
--- a/lib/lz4hc.h
+++ b/lib/lz4hc.h
@@ -405,18 +405,6 @@ LZ4LIB_STATIC_API void LZ4_attach_HC_dictionary(
LZ4_streamHC_t *working_stream,
const LZ4_streamHC_t *dictionary_stream);
-/*! LZ4_getDictHCSize():
- * Get the size of the dictionary. This can be used for adding data without
- * compression to the LZ4 archive. If linked blocked mode is used the memory
- * of the dictionary is kept free.
- * This way uncompressed data does not influence the effectiveness of the
- * dictionary.
- * @param LZ4_dict Pointer to the dictionary to get the size of.
- * @param dictSize The maximum dictionary size. (Normally 64 KB).
- * @return The size of the dictionary.
- */
-LZ4LIB_STATIC_API int LZ4_getDictHCSize(const LZ4_streamHC_t* LZ4_streamHCPtr, int dictSize);
-
#if defined (__cplusplus)
}
#endif
diff --git a/ossfuzz/round_trip_frame_uncompressed_fuzzer.c b/ossfuzz/round_trip_frame_uncompressed_fuzzer.c
index cf9cbb9..e578052 100644
--- a/ossfuzz/round_trip_frame_uncompressed_fuzzer.c
+++ b/ossfuzz/round_trip_frame_uncompressed_fuzzer.c
@@ -124,13 +124,6 @@ static void compress_round_trip(const uint8_t* data, size_t size,
LZ4F_freeCompressionContext(ctx);
}
-static void compress_linked_block_mode(const uint8_t* data, size_t size) {
- FUZZ_dataProducer_t *producer = FUZZ_dataProducer_create(data, size);
- LZ4F_preferences_t prefs = FUZZ_dataProducer_preferences(producer);
- prefs.frameInfo.blockMode = LZ4F_blockLinked;
- compress_round_trip(data, size, producer, prefs);
-}
-
static void compress_independent_block_mode(const uint8_t* data, size_t size) {
FUZZ_dataProducer_t *producer = FUZZ_dataProducer_create(data, size);
LZ4F_preferences_t prefs = FUZZ_dataProducer_preferences(producer);
@@ -140,7 +133,6 @@ static void compress_independent_block_mode(const uint8_t* data, size_t size) {
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
- compress_linked_block_mode(data, size);
compress_independent_block_mode(data, size);
return 0;
}