OSDN Git Service

Fix the heap-after-use in DurationAnomalyTracker
authorYao Chen <yaochen@google.com>
Thu, 22 Mar 2018 00:04:34 +0000 (17:04 -0700)
committerYao Chen <yaochen@google.com>
Thu, 22 Mar 2018 00:04:34 +0000 (17:04 -0700)
Bug: 74531081
Test: cts
Change-Id: I21a50944a119b7576c76fd25fae23b9c2d8d96ab

cmds/statsd/src/anomaly/DurationAnomalyTracker.cpp

index d85157c..79067eb 100644 (file)
@@ -68,10 +68,10 @@ void DurationAnomalyTracker::stopAlarm(const MetricDimensionKey& dimensionKey,
     if (itr->second != nullptr && timestampNs >= NS_PER_SEC * itr->second->timestampSec) {
         declareAnomaly(timestampNs, dimensionKey);
     }
-    mAlarms.erase(dimensionKey);
     if (mAlarmMonitor != nullptr) {
         mAlarmMonitor->remove(itr->second);
     }
+    mAlarms.erase(dimensionKey);
 }
 
 void DurationAnomalyTracker::cancelAllAlarms() {