diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-11-17 21:44:27 +0100 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2014-11-20 15:59:44 +0100 |
commit | 7f3c4f01909687c7fdd6ab2e7b5b855bb7b4772f (patch) | |
tree | 610fe9adcba216441d52e787d9bb219cf38974bb | |
parent | 54dfc704836582463b2c3cee190916163b63b7b2 (diff) | |
download | upower-7f3c4f01909687c7fdd6ab2e7b5b855bb7b4772f.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); |