diff options
| author | Kostya Serebryany <kcc@google.com> | 2015-08-11 01:44:42 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2015-08-11 01:44:42 +0000 |
| commit | bc7c0ad24de39dad5b7d8782489096abad71c522 (patch) | |
| tree | 773bc72b2bc0d2776b5037801d7a4dd11d2359f5 /llvm/lib/Fuzzer/FuzzerLoop.cpp | |
| parent | fd9f47756afbb7b9894346c9f3028ff461dd2d58 (diff) | |
| download | bcm5719-llvm-bc7c0ad24de39dad5b7d8782489096abad71c522.tar.gz bcm5719-llvm-bc7c0ad24de39dad5b7d8782489096abad71c522.zip | |
[libFuzzer] add -only_ascii flag
llvm-svn: 244559
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerLoop.cpp')
| -rw-r--r-- | llvm/lib/Fuzzer/FuzzerLoop.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp index 69b49b025a0..3f7fcb5ea9b 100644 --- a/llvm/lib/Fuzzer/FuzzerLoop.cpp +++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp @@ -170,9 +170,11 @@ size_t Fuzzer::RunOne(const Unit &U) { return Res; } -void Fuzzer::RunOneAndUpdateCorpus(const Unit &U) { +void Fuzzer::RunOneAndUpdateCorpus(Unit &U) { if (TotalNumberOfRuns >= Options.MaxNumberOfRuns) return; + if (Options.OnlyASCII) + ToASCII(U); ReportNewCoverage(RunOne(U), U); } @@ -251,6 +253,9 @@ void Fuzzer::WriteToOutputCorpus(const Unit &U) { WriteToFile(U, Path); if (Options.Verbosity >= 2) Printf("Written to %s\n", Path.c_str()); + if (Options.OnlyASCII) + for (auto X : U) + assert(isprint(X) || isspace(X)); } void Fuzzer::WriteUnitToFileWithPrefix(const Unit &U, const char *Prefix) { |

