[go: nahoru, domu]

Fix memory leak in dbus::ObjectManager::RemoveInterface

D-Bus Object Manager proxy class was leaking PropertySet object instances
stored in properties_map when an interface was removed.

Make sure we delete the PropertySet before we remove the map entry.

BUG=472654

Review URL: https://codereview.chromium.org/1055713002

Cr-Commit-Position: refs/heads/master@{#323544}
diff --git a/dbus/object_manager.cc b/dbus/object_manager.cc
index 181a73b..851fee4 100644
--- a/dbus/object_manager.cc
+++ b/dbus/object_manager.cc
@@ -482,6 +482,7 @@
     interface->ObjectRemoved(object_path, interface_name);
   }
 
+  delete piter->second;
   object->properties_map.erase(piter);
 
   if (object->properties_map.empty()) {