Revert "[libFuzzer] Use ChooseUnitIdxToMutate to pick item for crossover."

Fails LLVMFuzzer.LLVMFuzzer.value-profile-strncmp.test.

This reverts commit r297891.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297912 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vitaly Buka 2017-03-15 23:08:18 +00:00
parent 6868195f9c
commit 83daa29a86
2 changed files with 3 additions and 3 deletions

View File

@ -77,7 +77,7 @@ size_t MutationDispatcher::Mutate_CustomCrossOver(uint8_t *Data, size_t Size,
size_t MaxSize) {
if (!Corpus || Corpus->size() < 2 || Size == 0)
return 0;
size_t Idx = Corpus->ChooseUnitIdxToMutate(Rand);
size_t Idx = Rand(Corpus->size());
const Unit &Other = (*Corpus)[Idx];
if (Other.empty())
return 0;

View File

@ -88,7 +88,7 @@ public:
void ClearAutoDictionary();
void PrintRecommendedDictionary();
void SetCorpus(InputCorpus *Corpus) { this->Corpus = Corpus; }
void SetCorpus(const InputCorpus *Corpus) { this->Corpus = Corpus; }
Random &GetRand() { return Rand; }
@ -141,7 +141,7 @@ private:
DictionaryEntry CmpDictionaryEntriesDeque[kCmpDictionaryEntriesDequeSize];
size_t CmpDictionaryEntriesDequeIdx = 0;
InputCorpus *Corpus = nullptr;
const InputCorpus *Corpus = nullptr;
std::vector<uint8_t> MutateInPlaceHere;
// CustomCrossOver needs its own buffer as a custom implementation may call
// LLVMFuzzerMutate, which in turn may resize MutateInPlaceHere.