blob: 3418b0416820824ad9fb3b175159760b786db62f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
From fe37183fba649b999af3f66b9e0b0d70a054426c Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Wed, 17 Jun 2015 10:52:12 +0200
Subject: lib: Fix memory leak in up_client_get_devices()
When up_client_get_devices() fails to contact the D-Bus daemon, don't
leak the newly created array.
diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c
index 48d99a0..4780aa5 100644
--- a/libupower-glib/up-client.c
+++ b/libupower-glib/up-client.c
@@ -95,8 +95,6 @@ up_client_get_devices (UpClient *client)
g_return_val_if_fail (UP_IS_CLIENT (client), NULL);
- array = g_ptr_array_new ();
-
if (up_client_glue_call_enumerate_devices_sync (client->priv->proxy,
&devices,
NULL,
@@ -106,6 +104,8 @@ up_client_get_devices (UpClient *client)
return NULL;
}
+ array = g_ptr_array_new ();
+
for (i = 0; devices[i] != NULL; i++) {
UpDevice *device;
const char *object_path = devices[i];
--
cgit v0.10.2
|