summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerDriver.cpp
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2016-02-13 03:00:53 +0000
committerKostya Serebryany <kcc@google.com>2016-02-13 03:00:53 +0000
commita399221c32a4143f922005278914525014962fec (patch)
tree8d973012ea9141efb7326ee404436ad90182166c /llvm/lib/Fuzzer/FuzzerDriver.cpp
parentecab57b3ceaa823c05a06ec818ce35d0bf91dfe8 (diff)
downloadbcm5719-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.cpp21
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)
OpenPOWER on IntegriCloud