diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-11-17 22:32:42 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2014-11-26 11:56:10 +0000 |
commit | 73927044cb213030e210b46bbc6e4de3aa41ba16 (patch) | |
tree | c1101693109cd4f160cd1a26080e2d74bc25121e | |
parent | d1971e4d1614cf4f589678fcd26bbe0d50b8b0b9 (diff) |
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
-rw-r--r-- | src/up-wakeups.c | 5 |
1 files changed, 4 insertions, 1 deletions
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); |