From bedd812e7b626052016cdcd52f2161788bb5b190 Mon Sep 17 00:00:00 2001 From: Damiano Melotti Date: Thu, 13 Jan 2022 10:11:43 +0100 Subject: Fixed wrong delete operator and added mutator's destructor --- .../libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc | 2 +- .../libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'custom_mutators/libprotobuf-mutator-example') diff --git a/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc b/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc index ecbfdd1c..03e8e35c 100644 --- a/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc +++ b/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc @@ -100,7 +100,7 @@ extern "C" size_t afl_custom_fuzz(MyMutator *mutator, // return value from afl_c // Copy to a new buffer ( mutated_out ) size_t mutated_size = s.size() <= max_size ? s.size() : max_size; // check if raw data's size is larger than max_size - delete mutator->mutated_out; + delete[] mutator->mutated_out; mutator->mutated_out = new uint8_t[mutated_size+1]; memcpy(mutator->mutated_out, s.c_str(), mutated_size); // copy the mutated data // Assign the mutated data and return mutated_size diff --git a/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h b/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h index 0f5484ca..cfd4ce3f 100644 --- a/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h +++ b/custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h @@ -4,4 +4,7 @@ class MyMutator : public protobuf_mutator::Mutator { public: uint8_t *mutated_out = nullptr; + ~MyMutator() { + delete[] mutated_out; + } }; -- cgit 1.4.1