diff options
Diffstat (limited to 'tests/ossfuzz/fuzz_decode_stream.c')
-rw-r--r-- | tests/ossfuzz/fuzz_decode_stream.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/tests/ossfuzz/fuzz_decode_stream.c b/tests/ossfuzz/fuzz_decode_stream.c index 1da8ecb3..e06613e3 100644 --- a/tests/ossfuzz/fuzz_decode_stream.c +++ b/tests/ossfuzz/fuzz_decode_stream.c @@ -1,10 +1,10 @@ /////////////////////////////////////////////////////////////////////////////// // /// \file fuzz_decode_stream.c -/// \brief Fuzz test program for liblzma -// -// Author: Lasse Collin +/// \brief Fuzz test program for single threaded .xz decoding // +// Authors: Lasse Collin +// Maksym Vatsyk // // This file has been put into the public domain. // You can do whatever you want with this file. @@ -22,7 +22,7 @@ extern int LLVMFuzzerTestOneInput(const uint8_t *inbuf, size_t inbuf_size) { lzma_stream strm = LZMA_STREAM_INIT; - // Initialize a LZMA alone decoder using the memory usage limit + // Initialize a LZMA decoder using the memory usage limit // defined in fuzz_common.h // // Enable support for concatenated .xz files which is used when @@ -34,13 +34,14 @@ LLVMFuzzerTestOneInput(const uint8_t *inbuf, size_t inbuf_size) // The flag LZMA_IGNORE_CHECK doesn't disable verification of // header CRC32 values. Those checks are disabled when liblzma is // built with the #define FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION. + lzma_ret ret = lzma_stream_decoder(&strm, MEM_LIMIT, + LZMA_CONCATENATED | LZMA_IGNORE_CHECK); - if (lzma_stream_decoder(&strm, MEM_LIMIT, - LZMA_CONCATENATED | LZMA_IGNORE_CHECK) != LZMA_OK) { + if (ret != LZMA_OK) { // This should never happen unless the system has // no free memory or address space to allow the small // allocations that the initialization requires. - fprintf(stderr, "lzma_stream_decoder() failed\n"); + fprintf(stderr, "lzma_stream_decoder() failed (%d)\n", ret); abort(); } |