about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDamiano Melotti <dmelotti@quarkslab.com>2022-01-13 10:11:43 +0100
committerDamiano Melotti <dmelotti@quarkslab.com>2022-01-13 10:11:43 +0100
commitbedd812e7b626052016cdcd52f2161788bb5b190 (patch)
tree4fb862c990b3b884b2ac7677b0bcf9e3dddd6b55
parent21ebfec79c75f99c938ebfc453e76eb82328d12e (diff)
downloadafl++-bedd812e7b626052016cdcd52f2161788bb5b190.tar.gz
Fixed wrong delete operator and added mutator's destructor
-rw-r--r--custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc2
-rw-r--r--custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h3
2 files changed, 4 insertions, 1 deletions
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;
+    }
 };