aboutsummaryrefslogtreecommitdiff
path: root/tests/ossfuzz/fuzz_decode_stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ossfuzz/fuzz_decode_stream.c')
-rw-r--r--tests/ossfuzz/fuzz_decode_stream.c15
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();
}