| Index: base/metrics/histogram.cc
|
| ===================================================================
|
| --- base/metrics/histogram.cc (revision 75722)
|
| +++ base/metrics/histogram.cc (working copy)
|
| @@ -23,6 +23,9 @@
|
|
|
| typedef Histogram::Count Count;
|
|
|
| +// static
|
| +const size_t Histogram::kBucketCount_MAX = 10000u;
|
| +
|
| scoped_refptr<Histogram> Histogram::FactoryGet(const std::string& name,
|
| Sample minimum, Sample maximum, size_t bucket_count, Flags flags) {
|
| scoped_refptr<Histogram> histogram(NULL);
|
| @@ -413,7 +416,7 @@
|
|
|
| do {
|
| DCHECK_GE(over, under);
|
| - mid = (over + under)/2;
|
| + mid = under + (over - under)/2;
|
| if (mid == under)
|
| break;
|
| if (ranges(mid) <= value)
|
| @@ -423,7 +426,7 @@
|
| } while (true);
|
|
|
| DCHECK_LE(ranges(mid), value);
|
| - DCHECK_GT(ranges(mid+1), value);
|
| + CHECK_GT(ranges(mid+1), value);
|
| return mid;
|
| }
|
|
|
| @@ -483,6 +486,7 @@
|
| declared_max_ = kSampleType_MAX - 1;
|
| DCHECK_LE(declared_min_, declared_max_);
|
| DCHECK_GT(bucket_count_, 1u);
|
| + CHECK_LT(bucket_count_, kBucketCount_MAX);
|
| size_t maximal_bucket_count = declared_max_ - declared_min_ + 2;
|
| DCHECK_LE(bucket_count_, maximal_bucket_count);
|
| DCHECK_EQ(0, ranges_[0]);
|
|
|