[gupnp] Fix multiple memory leaks



commit 3e72dfb89a94d87d1b0fc5a74a711a30331b062b
Author: Ludovic Ferrandis <ludovic ferrandis intel com>
Date:   Thu Jul 11 11:29:00 2013 +0200

    Fix multiple memory leaks
    
    In case of error, gupnp_service_proxy_send_action_valist returns
    without freeing 1 va_list, 2 GList and 1 GHashTable.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=704094

 libgupnp/gupnp-service-proxy.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c
index 0faa739..9c9721b 100644
--- a/libgupnp/gupnp-service-proxy.c
+++ b/libgupnp/gupnp-service-proxy.c
@@ -588,8 +588,9 @@ gupnp_service_proxy_send_action_valist (GUPnPServiceProxy *proxy,
                                                         main_loop);
         if (!handle) {
                 g_main_loop_unref (main_loop);
+                result = FALSE;
 
-                return FALSE;
+                goto out;
         }
 
         /* Loop till we get a reply (or time out) */
@@ -608,6 +609,7 @@ gupnp_service_proxy_send_action_valist (GUPnPServiceProxy *proxy,
         } else {
                 g_propagate_error (error, local_error);
         }
+out:
         va_end (var_args_copy);
         g_list_free_full (in_names, g_free);
         g_list_free_full (in_values, value_free);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]