diff options
author | Kostya Serebryany <kcc@google.com> | 2016-02-13 03:00:53 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2016-02-13 03:00:53 +0000 |
commit | a399221c32a4143f922005278914525014962fec (patch) | |
tree | 8d973012ea9141efb7326ee404436ad90182166c /llvm/lib/Fuzzer/FuzzerDriver.cpp | |
parent | ecab57b3ceaa823c05a06ec818ce35d0bf91dfe8 (diff) | |
download | bcm5719-llvm-a399221c32a4143f922005278914525014962fec.tar.gz bcm5719-llvm-a399221c32a4143f922005278914525014962fec.zip |
[libFuzzer] simplify the code around Random. NFC
llvm-svn: 260797
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerDriver.cpp')
-rw-r--r-- | llvm/lib/Fuzzer/FuzzerDriver.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerDriver.cpp b/llvm/lib/Fuzzer/FuzzerDriver.cpp index 841870061ed..c6063332452 100644 --- a/llvm/lib/Fuzzer/FuzzerDriver.cpp +++ b/llvm/lib/Fuzzer/FuzzerDriver.cpp @@ -242,15 +242,12 @@ static bool AllInputsAreFiles() { } int FuzzerDriver(int argc, char **argv, UserCallback Callback) { - FuzzerRandom_mt19937 Rand(0); std::vector<std::string> Args(argv, argv + argc); return FuzzerDriver(Args, Callback); } int FuzzerDriver(const std::vector<std::string> &Args, UserCallback Callback) { using namespace fuzzer; - FuzzerRandom_mt19937 Rand(0); - SimpleUserSuppliedFuzzer USF(&Rand, Callback); assert(!Args.empty()); ProgName = new std::string(Args[0]); ParseFlags(Args); @@ -309,6 +306,16 @@ int FuzzerDriver(const std::vector<std::string> &Args, UserCallback Callback) { Options.SaveArtifacts = !Flags.test_single_input; Options.PrintNewCovPcs = Flags.print_new_cov_pcs; + unsigned Seed = Flags.seed; + // Initialize Seed. + if (Seed == 0) + Seed = (std::chrono::system_clock::now().time_since_epoch().count() << 10) + + getpid(); + if (Flags.verbosity) + Printf("Seed: %u\n", Seed); + + Random Rand(Seed); + SimpleUserSuppliedFuzzer USF(&Rand, Callback); Fuzzer F(USF, Options); for (auto &U: Dictionary) @@ -349,14 +356,6 @@ int FuzzerDriver(const std::vector<std::string> &Args, UserCallback Callback) { exit(0); } - unsigned Seed = Flags.seed; - // Initialize Seed. - if (Seed == 0) - Seed = (std::chrono::system_clock::now().time_since_epoch().count() << 10) + - getpid(); - if (Flags.verbosity) - Printf("Seed: %u\n", Seed); - USF.GetRand().ResetSeed(Seed); F.RereadOutputCorpus(); for (auto &inp : *Inputs) |