diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-11-17 21:44:27 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2014-11-26 11:56:09 +0000 |
commit | d1971e4d1614cf4f589678fcd26bbe0d50b8b0b9 (patch) | |
tree | 610fe9adcba216441d52e787d9bb219cf38974bb | |
parent | 8988f069862a588d4c48afc703f500037cb0c50a (diff) | |
download | upower-d1971e4d1614cf4f589678fcd26bbe0d50b8b0b9.tar.gz |
daemon: plug huge memleak in GetStatistics
Reproducible by executing `upower -d` or by calling the DBus method
org.freedesktop.UPower.Device.GetStatistics(charging).
up_device_get_statistics ->
up_history_get_profile_data ->
up_stats_item_new.
https://bugs.freedesktop.org/show_bug.cgi?id=82659
-rw-r--r-- | src/up-history.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/up-history.c b/src/up-history.c index 4ed55fc..1d41c2c 100644 --- a/src/up-history.c +++ b/src/up-history.c @@ -299,7 +299,7 @@ up_history_get_profile_data (UpHistory *history, gboolean charging) g_return_val_if_fail (UP_IS_HISTORY (history), NULL); /* create 100 item list and set to zero */ - data = g_ptr_array_new (); + data = g_ptr_array_new_full (101, g_object_unref); for (i=0; i<101; i++) { stats = up_stats_item_new (); g_ptr_array_add (data, stats); |