Re: [PATCH] watch: Free service data in service_reply

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

 



Hi,

On Sat, Jul 24, 2010, Zhenhua Zhang wrote:
> Avoid the memory leak of server_data.
> ---
>  gdbus/watch.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/gdbus/watch.c b/gdbus/watch.c
> index 1d479fa..ccdbb64 100644
> --- a/gdbus/watch.c
> +++ b/gdbus/watch.c
> @@ -468,8 +468,10 @@ static void service_reply(DBusPendingCall *call, void *user_data)
>  	dbus_bool_t has_owner;
>  
>  	reply = dbus_pending_call_steal_reply(call);
> -	if (reply == NULL)
> +	if (reply == NULL) {
> +		g_free(data);
>  		return;
> +	}
>  
>  	dbus_error_init(&error);
>  
> @@ -490,6 +492,7 @@ static void service_reply(DBusPendingCall *call, void *user_data)
>  
>  done:
>  	dbus_message_unref(reply);
> +	g_free(data);
>  }
>  
>  static void check_service(DBusConnection *connection, const char *name,

Thanks for the patch, but wouldnt't the following be simpler:

--- a/gdbus/watch.c
+++ b/gdbus/watch.c
@@ -533,7 +533,7 @@ static void check_service(DBusConnection *connection, const char *name,
 		goto done;
 	}
 
-	dbus_pending_call_set_notify(call, service_reply, data, NULL);
+	dbus_pending_call_set_notify(call, service_reply, data, g_free);
 
 	dbus_pending_call_unref(call);
 

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux