From 9c07e7dc90b1331dab9f0e960d119d0889c7d585 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Fri, 21 Oct 2011 14:05:10 -0400 Subject: [PATCH] GDBusMessage: fix leak of GError As part of the deserialisation process of a zero-length array in the DBus wire format, parse_value_from_blob() recursively calls itself with the expectation of failing (as can be seen by the assert immediately following). It passes &local_error to this always-failing call and then fails to free it (indeed, to use it at all). The result is that the GError is leaked. Fix it by passing in NULL instead, so that the GError is never created in the first place. https://bugzilla.gnome.org/show_bug.cgi?id=662411 --- gio/gdbusmessage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c index 5410458..82860f4 100644 --- a/gio/gdbusmessage.c +++ b/gio/gdbusmessage.c @@ -1340,7 +1340,7 @@ parse_value_from_blob (GMemoryInputStream *mis, element_type, TRUE, indent + 2, - &local_error); + NULL); g_assert (item == NULL); } else -- 2.7.4