summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-11-17 21:44:27 +0100
committerRichard Hughes <richard@hughsie.com>2014-11-26 11:56:09 +0000
commitd1971e4d1614cf4f589678fcd26bbe0d50b8b0b9 (patch)
tree610fe9adcba216441d52e787d9bb219cf38974bb
parent8988f069862a588d4c48afc703f500037cb0c50a (diff)
downloadupower-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.c2
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);