summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
authoravakulenko <avakulenko@chromium.org>2015-04-02 11:51:32 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-02 18:52:03 +0000
commit9a99965adab379a5965484a59334a80bc576e49e (patch)
tree1433eb040a5355a716e4cd497dd708d2aefe7495 /dbus
parente09b357b3714bfa94bbae86da288b7f4390a5192 (diff)
downloadchromium_src-9a99965adab379a5965484a59334a80bc576e49e.zip
chromium_src-9a99965adab379a5965484a59334a80bc576e49e.tar.gz
chromium_src-9a99965adab379a5965484a59334a80bc576e49e.tar.bz2
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}
Diffstat (limited to 'dbus')
-rw-r--r--dbus/object_manager.cc1
1 files changed, 1 insertions, 0 deletions
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 @@ void ObjectManager::RemoveInterface(const ObjectPath& object_path,
interface->ObjectRemoved(object_path, interface_name);
}
+ delete piter->second;
object->properties_map.erase(piter);
if (object->properties_map.empty()) {