diff options
Diffstat (limited to 'compiler-rt/lib/fuzzer/FuzzerDriver.cpp')
| -rw-r--r-- | compiler-rt/lib/fuzzer/FuzzerDriver.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/compiler-rt/lib/fuzzer/FuzzerDriver.cpp b/compiler-rt/lib/fuzzer/FuzzerDriver.cpp index 0f8389cb356..2bc895d008c 100644 --- a/compiler-rt/lib/fuzzer/FuzzerDriver.cpp +++ b/compiler-rt/lib/fuzzer/FuzzerDriver.cpp @@ -732,7 +732,19 @@ int FuzzerDriver(int *argc, char ***argv, UserCallback Callback) { exit(0); } - F->Loop(*Inputs); + // Parse -seed_inputs=file1,file2,... + Vector<std::string> ExtraSeedFiles; + if (Flags.seed_inputs) { + std::string s = Flags.seed_inputs; + size_t comma_pos; + while ((comma_pos = s.find_last_of(',')) != std::string::npos) { + ExtraSeedFiles.push_back(s.substr(comma_pos + 1)); + s = s.substr(0, comma_pos); + } + ExtraSeedFiles.push_back(s); + } + + F->Loop(*Inputs, ExtraSeedFiles); if (Flags.verbosity) Printf("Done %zd runs in %zd second(s)\n", F->getTotalNumberOfRuns(), |

