diff options
Diffstat (limited to 'chromium/base/metrics/sample_vector.cc')
-rw-r--r-- | chromium/base/metrics/sample_vector.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chromium/base/metrics/sample_vector.cc b/chromium/base/metrics/sample_vector.cc index 5a7769d96f0..2e546952669 100644 --- a/chromium/base/metrics/sample_vector.cc +++ b/chromium/base/metrics/sample_vector.cc @@ -267,6 +267,12 @@ void SampleVectorBase::MoveSingleSampleToCounts() { if (sample.count == 0) return; + // Stop here if the sample bucket would be out of range for the AtomicCount + // array. + if (sample.bucket >= counts_size()) { + return; + } + // Move the value into storage. Sum and redundant-count already account // for this entry so no need to call IncreaseSumAndCount(). subtle::NoBarrier_AtomicIncrement(&counts()[sample.bucket], sample.count); |