From 0337781ba746fb869198cff9705e521a2722b26d Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Sun, 2 Aug 2015 09:03:06 +0200 Subject: [PATCH] base-manager: plug memleak Don't g_strdup() the physdev string to store it in the hash table; instead store the original string right away as it is already created with g_strdup_printf(). Reported by: Yunlian Jiang https://code.google.com/p/chromium/issues/detail?id=515929 --- src/mm-base-manager.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/mm-base-manager.c b/src/mm-base-manager.c index fdcd037d..f11070f5 100644 --- a/src/mm-base-manager.c +++ b/src/mm-base-manager.c @@ -749,9 +749,7 @@ handle_set_profile (MmGdbusTest *skeleton, /* Create device and keep it listed in the Manager */ physdev = g_strdup_printf ("/virtual/%s", id); device = mm_device_virtual_new (physdev, TRUE); - g_hash_table_insert (self->priv->devices, - g_strdup (physdev), - device); + g_hash_table_insert (self->priv->devices, physdev, device); /* Grab virtual ports */ mm_device_virtual_grab_ports (device, (const gchar **)ports);