diff options
Diffstat (limited to 'tests/fuzz/simple_compress.c')
-rw-r--r-- | tests/fuzz/simple_compress.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/tests/fuzz/simple_compress.c b/tests/fuzz/simple_compress.c deleted file mode 100644 index 487be3a354ce9..0000000000000 --- a/tests/fuzz/simple_compress.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under both the BSD-style license (found in the - * LICENSE file in the root directory of this source tree) and the GPLv2 (found - * in the COPYING file in the root directory of this source tree). - */ - -/** - * This fuzz target attempts to comprss the fuzzed data with the simple - * compression function with an output buffer that may be too small to - * ensure that the compressor never crashes. - */ - -#include <stddef.h> -#include <stdlib.h> -#include <stdio.h> -#include "fuzz_helpers.h" -#include "zstd.h" -#include "zstd_helpers.h" -#include "fuzz_data_producer.h" - -static ZSTD_CCtx *cctx = NULL; - -int LLVMFuzzerTestOneInput(const uint8_t *src, size_t size) -{ - /* Give a random portion of src data to the producer, to use for - parameter generation. The rest will be used for (de)compression */ - FUZZ_dataProducer_t *producer = FUZZ_dataProducer_create(src, size); - size = FUZZ_dataProducer_reserveDataPrefix(producer); - - size_t const maxSize = ZSTD_compressBound(size); - size_t const bufSize = FUZZ_dataProducer_uint32Range(producer, 0, maxSize); - - int const cLevel = FUZZ_dataProducer_int32Range(producer, kMinClevel, kMaxClevel); - - if (!cctx) { - cctx = ZSTD_createCCtx(); - FUZZ_ASSERT(cctx); - } - - void *rBuf = malloc(bufSize); - FUZZ_ASSERT(rBuf); - ZSTD_compressCCtx(cctx, rBuf, bufSize, src, size, cLevel); - free(rBuf); - FUZZ_dataProducer_free(producer); -#ifndef STATEFUL_FUZZING - ZSTD_freeCCtx(cctx); cctx = NULL; -#endif - return 0; -} |