From fe37183fba649b999af3f66b9e0b0d70a054426c Mon Sep 17 00:00:00 2001 From: Bastien Nocera 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