diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2015-08-02 09:03:06 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2015-08-02 09:03:20 +0200 |
commit | 0337781ba746fb869198cff9705e521a2722b26d (patch) | |
tree | fefc31677eda91c8357fd2391adc50bca9156557 | |
parent | 9b051b14ed33b5eca2e7d1b384d6a9f60d08e482 (diff) |
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 <yunlian@chromium.org>
https://code.google.com/p/chromium/issues/detail?id=515929
-rw-r--r-- | src/mm-base-manager.c | 4 |
1 files changed, 1 insertions, 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); |