diff --git a/lib/Fuzzer/FuzzerValueBitMap.h b/lib/Fuzzer/FuzzerValueBitMap.h index 493afc574cc..65659f21349 100644 --- a/lib/Fuzzer/FuzzerValueBitMap.h +++ b/lib/Fuzzer/FuzzerValueBitMap.h @@ -26,7 +26,7 @@ struct ValueBitMap { // Computed a hash function of Value and sets the corresponding bit. void AddValue(uintptr_t Value) { - uintptr_t Idx = Value % kMapSizeInBits; + uintptr_t Idx = Value < kMapSizeInBits ? Value : Value % kMapSizeInBits; uintptr_t WordIdx = Idx / kBitsInWord; uintptr_t BitIdx = Idx % kBitsInWord; Map[WordIdx] |= 1UL << BitIdx;