summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerLoop.cpp
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2015-05-26 19:29:33 +0000
committerKostya Serebryany <kcc@google.com>2015-05-26 19:29:33 +0000
commitc8228dd9fb9662ea79705fc2721cc6078817e087 (patch)
tree8313828d32a2a6fdec113a9b274106972866b2bf /llvm/lib/Fuzzer/FuzzerLoop.cpp
parentcd6f7f9d8082db156a8392e9d1e089800e4e4fda (diff)
downloadbcm5719-llvm-c8228dd9fb9662ea79705fc2721cc6078817e087.tar.gz
bcm5719-llvm-c8228dd9fb9662ea79705fc2721cc6078817e087.zip
[lib/Fuzzer] fix build with assertions
llvm-svn: 238235
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerLoop.cpp')
-rw-r--r--llvm/lib/Fuzzer/FuzzerLoop.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp
index 34ceda4fb4d..1b6a82fe4a8 100644
--- a/llvm/lib/Fuzzer/FuzzerLoop.cpp
+++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp
@@ -287,7 +287,7 @@ void Fuzzer::MutateAndTestOne(Unit *U) {
size_t Size = U->size();
U->resize(Options.MaxLen);
size_t NewSize = USF.Mutate(U->data(), Size, U->size());
- assert(NewSize > 0 && NewSize <= Options.MaxLen);
+ assert(NewSize > 0 && NewSize <= (size_t)Options.MaxLen);
U->resize(NewSize);
RunOneAndUpdateCorpus(*U);
size_t NumTraceBasedMutations = StopTraceRecording();
@@ -309,13 +309,13 @@ void Fuzzer::Loop(size_t NumIterations) {
CurrentUnit = Corpus[J1];
MutateAndTestOne(&CurrentUnit);
// Now, cross with others.
- if (Options.DoCrossOver) {
+ if (Options.DoCrossOver && !Corpus[J1].empty()) {
for (size_t J2 = 0; J2 < Corpus.size(); J2++) {
CurrentUnit.resize(Options.MaxLen);
size_t NewSize = USF.CrossOver(
Corpus[J1].data(), Corpus[J1].size(), Corpus[J2].data(),
Corpus[J2].size(), CurrentUnit.data(), CurrentUnit.size());
- assert(NewSize > 0 && NewSize <= Options.MaxLen);
+ assert(NewSize > 0 && NewSize <= (size_t)Options.MaxLen);
CurrentUnit.resize(NewSize);
MutateAndTestOne(&CurrentUnit);
}
OpenPOWER on IntegriCloud