diff options
| author | van Hauser <vh@thc.org> | 2021-12-09 11:55:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-09 11:55:36 +0100 |
| commit | 08ca4d54a55fe73e64a994c41a12af61f52e497e (patch) | |
| tree | 2d0f060cf98afbe80f5bf810fd6b167a5152be81 /custom_mutators/libprotobuf-mutator-example | |
| parent | 773baf9391ff5f1793deb7968366819e7fa07adc (diff) | |
| parent | 4c6d94ea5f854071277ed9729de2d4ef7d07cc84 (diff) | |
| download | afl++-08ca4d54a55fe73e64a994c41a12af61f52e497e.tar.gz | |
Merge pull request #1101 from AFLplusplus/dev
Dev
Diffstat (limited to 'custom_mutators/libprotobuf-mutator-example')
| -rw-r--r-- | custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.cc | 8 | ||||
| -rw-r--r-- | custom_mutators/libprotobuf-mutator-example/lpm_aflpp_custom_mutator_input.h | 2 |
2 files changed, 7 insertions, 3 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 e0273849..ecbfdd1c 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 @@ -99,10 +99,12 @@ extern "C" size_t afl_custom_fuzz(MyMutator *mutator, // return value from afl_c std::string s = ProtoToData(*p); // 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 - uint8_t *mutated_out = new uint8_t[mutated_size+1]; - memcpy(mutated_out, s.c_str(), mutated_size); // copy the mutated data + + 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 - *out_buf = mutated_out; + *out_buf = mutator->mutated_out; 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 ebd3ca65..0f5484ca 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 @@ -2,4 +2,6 @@ #include "test.pb.h" class MyMutator : public protobuf_mutator::Mutator { +public: + uint8_t *mutated_out = nullptr; }; |
