diff options
author | Daniel Ebert <iuq@web.de> | 2021-10-05 17:40:23 -0700 |
---|---|---|
committer | Daniel Ebert <iuq@web.de> | 2021-10-05 17:40:23 -0700 |
commit | b9f88ab166bd798d25d3acdbc6b5c305d7875482 (patch) | |
tree | 4f65bddf5039889a0bd4fbc5b8336eaead6c97c8 | |
parent | 773baf9391ff5f1793deb7968366819e7fa07adc (diff) | |
download | afl++-b9f88ab166bd798d25d3acdbc6b5c305d7875482.tar.gz |
fix stack-use-after-return in libfuzzer custom mutator
-rw-r--r-- | custom_mutators/libfuzzer/libfuzzer.inc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/custom_mutators/libfuzzer/libfuzzer.inc b/custom_mutators/libfuzzer/libfuzzer.inc index 01f21dbe..8c4bdbf6 100644 --- a/custom_mutators/libfuzzer/libfuzzer.inc +++ b/custom_mutators/libfuzzer/libfuzzer.inc @@ -2,7 +2,7 @@ extern "C" ATTRIBUTE_INTERFACE void LLVMFuzzerMyInit(int (*Callback)(const uint8_t *Data, size_t Size), unsigned int Seed) { - Random Rand(Seed); + auto *Rand = new Random(Seed); FuzzingOptions Options; Options.Verbosity = 3; Options.MaxLen = 1024000; @@ -30,7 +30,7 @@ LLVMFuzzerMyInit(int (*Callback)(const uint8_t *Data, size_t Size), unsigned int struct EntropicOptions Entropic; Entropic.Enabled = Options.Entropic; EF = new ExternalFunctions(); - auto *MD = new MutationDispatcher(Rand, Options); + auto *MD = new MutationDispatcher(*Rand, Options); auto *Corpus = new InputCorpus(Options.OutputCorpus, Entropic); auto *F = new Fuzzer(Callback, *Corpus, *MD, Options); } |