about summary refs log tree commit diff
path: root/custom_mutators/libfuzzer/libfuzzer.inc
diff options
context:
space:
mode:
authorDaniel Ebert <iuq@web.de>2021-10-05 17:40:23 -0700
committerDaniel Ebert <iuq@web.de>2021-10-05 17:40:23 -0700
commitb9f88ab166bd798d25d3acdbc6b5c305d7875482 (patch)
tree4f65bddf5039889a0bd4fbc5b8336eaead6c97c8 /custom_mutators/libfuzzer/libfuzzer.inc
parent773baf9391ff5f1793deb7968366819e7fa07adc (diff)
downloadafl++-b9f88ab166bd798d25d3acdbc6b5c305d7875482.tar.gz
fix stack-use-after-return in libfuzzer custom mutator
Diffstat (limited to 'custom_mutators/libfuzzer/libfuzzer.inc')
-rw-r--r--custom_mutators/libfuzzer/libfuzzer.inc4
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);
 }