OSDN Git Service

[libFuzzer] fix a recent bugs (buffer overflow)
authorKostya Serebryany <kcc@google.com>
Sat, 1 Oct 2016 07:13:25 +0000 (07:13 +0000)
committerKostya Serebryany <kcc@google.com>
Sat, 1 Oct 2016 07:13:25 +0000 (07:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283021 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Fuzzer/FuzzerTracePC.cpp

index f02b71d..07e3264 100644 (file)
@@ -92,7 +92,7 @@ bool TracePC::FinalizeTrace(size_t InputSize) {
         else if (Counter >= 2) Bit = 1;
         size_t Feature = i * 8 + Bit;
         CounterMap.AddValue(Feature);
-        uint32_t *SizePtr = &InputSizesPerFeature[Feature];
+        uint32_t *SizePtr = &InputSizesPerFeature[Feature % kFeatureSetSize];
         if (!*SizePtr || *SizePtr > InputSize) {
           *SizePtr = InputSize;
           Res = true;