From: Matthias Clasen Date: Wed, 5 Aug 2015 21:18:48 +0000 (-0400) Subject: Don't leak an error X-Git-Tag: upstream/2.48.0^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=905e916573a6a714bfbf513df2bb07bb365ca2a8;p=platform%2Fupstream%2Fglib.git Don't leak an error The previous commit introduced a possible memory leak in cases where we get a G_IO_ERROR_CLOSED error. Make sure to always free an error, if we got one. https://bugzilla.gnome.org/show_bug.cgi?id=753278 --- diff --git a/gio/gdbusobjectmanagerserver.c b/gio/gdbusobjectmanagerserver.c index 6745df0..188c595 100644 --- a/gio/gdbusobjectmanagerserver.c +++ b/gio/gdbusobjectmanagerserver.c @@ -929,9 +929,10 @@ g_dbus_object_manager_server_emit_interfaces_added (GDBusObjectManagerServer *ma object_path, &array_builder), &error); - if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CLOSED)) + if (error) { - g_warning ("Couldn't emit InterfacesAdded signal: %s", error->message); + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CLOSED)) + g_warning ("Couldn't emit InterfacesAdded signal: %s", error->message); g_error_free (error); } out: @@ -966,9 +967,10 @@ g_dbus_object_manager_server_emit_interfaces_removed (GDBusObjectManagerServer * object_path, &array_builder), &error); - if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CLOSED)) + if (error) { - g_warning ("Couldn't emit InterfacesRemoved signal: %s", error->message); + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CLOSED)) + g_warning ("Couldn't emit InterfacesRemoved signal: %s", error->message); g_error_free (error); } out: