From: Giovanni Campagna Date: Fri, 25 Oct 2013 16:01:51 +0000 (+0200) Subject: gapplication: fix memory leak X-Git-Tag: 2.39.1~148 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e48e3be40ffb38067dc8cce4e5830cdd9c08aa5;p=platform%2Fupstream%2Fglib.git gapplication: fix memory leak g_variant_get_child_value() returns a new GVariant, which we must free. https://bugzilla.gnome.org/show_bug.cgi?id=710885 --- diff --git a/gio/gapplicationimpl-dbus.c b/gio/gapplicationimpl-dbus.c index d15e643..07709cc 100644 --- a/gio/gapplicationimpl-dbus.c +++ b/gio/gapplicationimpl-dbus.c @@ -889,13 +889,19 @@ g_dbus_command_line_new (GDBusMethodInvocation *invocation) { GDBusCommandLine *gdbcl; GVariant *args; + GVariant *arguments, *platform_data; args = g_dbus_method_invocation_get_parameters (invocation); + arguments = g_variant_get_child_value (args, 1); + platform_data = g_variant_get_child_value (args, 2); gdbcl = g_object_new (g_dbus_command_line_get_type (), - "arguments", g_variant_get_child_value (args, 1), - "platform-data", g_variant_get_child_value (args, 2), + "arguments", arguments, + "platform-data", platform_data, NULL); + g_variant_unref (arguments); + g_variant_unref (platform_data); + gdbcl->connection = g_dbus_method_invocation_get_connection (invocation); gdbcl->bus_name = g_dbus_method_invocation_get_sender (invocation); g_variant_get_child (args, 0, "&o", &gdbcl->object_path);