Index: base/metrics/sparse_histogram.cc |
diff --git a/base/metrics/sparse_histogram.cc b/base/metrics/sparse_histogram.cc |
index 5653456a29fb552470871f8611cb6337ec65bc50..afe677712dcffd74e1b4ceefdf5e91e48cab645e 100644 |
--- a/base/metrics/sparse_histogram.cc |
+++ b/base/metrics/sparse_histogram.cc |
@@ -25,10 +25,10 @@ HistogramBase* SparseHistogram::FactoryGet(const std::string& name, |
if (!histogram) { |
// To avoid racy destruction at shutdown, the following will be leaked. |
- HistogramBase* tentative_histogram = new SparseHistogram(name); |
+ scoped_ptr<HistogramBase> tentative_histogram(new SparseHistogram(name)); |
tentative_histogram->SetFlags(flags); |
- histogram = |
- StatisticsRecorder::RegisterOrDeleteDuplicate(tentative_histogram); |
+ histogram = StatisticsRecorder::RegisterOrDeleteDuplicate( |
+ std::move(tentative_histogram)); |
} |
DCHECK_EQ(SPARSE_HISTOGRAM, histogram->GetHistogramType()); |
return histogram; |