From b577eaddced40052b80792ce08c342c7f7816ab9 Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Mon, 22 Apr 2024 13:55:46 +0200 Subject: [PATCH] Fix overwrites-const-input in fuzz_compression target --- test/fuzz/fuzz_compression.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/fuzz/fuzz_compression.c b/test/fuzz/fuzz_compression.c index 1c91d34..9962dee 100644 --- a/test/fuzz/fuzz_compression.c +++ b/test/fuzz/fuzz_compression.c @@ -22,6 +22,7 @@ #include <stdint.h> #include <stddef.h> +#include <string.h> #include "fuzz_helpers.h" #include "fuzz_data_producer.h" @@ -73,10 +74,14 @@ int LLVMFuzzerTestOneInput(const uint8_t *src, size_t size) up_model = NULL; break; case 1: - up_model = malloc(size); + up_model = FUZZ_malloc(size); break; case 2: - up_model = (void *)model; /* in-place update */ + up_model = FUZZ_malloc(size); + if (model && up_model) { + memcpy(up_model, model, size); + model = up_model; /* in-place update */ + } break; default: FUZZ_ASSERT(0); @@ -130,8 +135,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *src, size_t size) } free(cmp_data); - if (up_model != model) - free(up_model); + free(up_model); FUZZ_dataProducer_free(producer); return 0; } -- GitLab