diff options
Diffstat (limited to 'ossfuzz/compress_fuzzer.c')
-rw-r--r-- | ossfuzz/compress_fuzzer.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ossfuzz/compress_fuzzer.c b/ossfuzz/compress_fuzzer.c new file mode 100644 index 0000000..3908534 --- /dev/null +++ b/ossfuzz/compress_fuzzer.c @@ -0,0 +1,25 @@ +#include <stddef.h> +#include <stdint.h> +#include <stdlib.h> +#include "lz4.h" + +#define CHECK(COND) if (!(COND)) { abort(); } + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + size_t const compressed_dest_size = LZ4_compressBound(size); + char *const dest_buffer = (char *)malloc(compressed_dest_size); + + CHECK(dest_buffer != NULL); + + // Allocation succeeded, try compressing the incoming data. + int result = LZ4_compress_default((const char*)data, + dest_buffer, + size, + compressed_dest_size); + CHECK(result != 0); + + free(dest_buffer); + + return 0; +} |