From: Tomas Bzatek Date: Wed, 14 Sep 2011 17:02:01 +0000 (+0200) Subject: gdbus-codegen: Fix segfault when remote property is invalidated X-Git-Tag: 2.31.0~516 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=659b287a92d951d7121584587cb7aefa28e88416;p=platform%2Fupstream%2Fglib.git gdbus-codegen: Fix segfault when remote property is invalidated The 'key' variable is no longer valid outside the cycle, owned and probably already freed by GVariant. This causes apps to segfault when proxy is constructed and a property on remote d-bus service changes (actually is invalidated). Looks like a typo anyway. https://bugzilla.gnome.org/show_bug.cgi?id=659070 --- diff --git a/gio/gdbus-2.0/codegen/codegen.py b/gio/gdbus-2.0/codegen/codegen.py index ed9b60a0f..3fe2382ac 100644 --- a/gio/gdbus-2.0/codegen/codegen.py +++ b/gio/gdbus-2.0/codegen/codegen.py @@ -1723,7 +1723,7 @@ class CodeGenerator: ' for (n = 0; invalidated_properties[n] != NULL; n++)\n' ' {\n' ' info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info, invalidated_properties[n]);\n' - ' g_datalist_remove_data (&proxy->priv->qdata, key);\n' + ' g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);\n' ' if (info != NULL)\n' ' g_object_notify (G_OBJECT (proxy), info->hyphen_name);\n' ' }\n'