From 680ff154eafa2a15722d5be3f1b6f4b0bb2d6531 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Mon, 17 Nov 2014 22:32:42 +0100 Subject: daemon: fix memleak in org.freedesktop.UPower.Wakeups.GetData up_wakeups_get_cmdline returns allocated memory and up_wakeup_item_set_cmdline duplicates it. Therefore free the former after setting it on the item. https://bugs.freedesktop.org/show_bug.cgi?id=82659 --- src/up-wakeups.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/up-wakeups.c b/src/up-wakeups.c index 38b8870..87e829e 100644 --- a/src/up-wakeups.c +++ b/src/up-wakeups.c @@ -469,6 +469,7 @@ up_wakeups_poll_userspace_cb (UpWakeups *wakeups) guint pid; guint interrupts; gfloat interval = 5.0f; + gchar *cmdline; g_debug ("event"); @@ -546,7 +547,9 @@ up_wakeups_poll_userspace_cb (UpWakeups *wakeups) up_wakeup_item_set_is_userspace (item, FALSE); } else { /* try to get a better command line */ - up_wakeup_item_set_cmdline (item, up_wakeups_get_cmdline (pid)); + cmdline = up_wakeups_get_cmdline (pid); + up_wakeup_item_set_cmdline (item, cmdline); + g_free (cmdline); if (up_wakeup_item_get_cmdline (item) == NULL || up_wakeup_item_get_cmdline (item)[0] == '\0') up_wakeup_item_set_cmdline (item, string); -- cgit v1.2.1