From e0613311c2d1f50e7241eb36acf075c66a0bf64f Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Tue, 28 Jun 2022 14:57:39 -0700 Subject: [PATCH] client: fix crash from unknown properties The dbus proxy code assumes that every interface has a set of properties registered in a 'proxy_interface_property' structure, assuming the interface has any properties at all. If the interface is assumed to have no properties (and no property table) but actually does, the property table lookup fails but is assumed to have succeeded and causes a crash. This caused iwctl to crash after some properties were added to DPP since the DPP interface previously had no properties. Now, check that the property table was valid before accessing it. This should allow properties to be added to new interfaces without crashing older versions of iwctl. --- client/dbus-proxy.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/dbus-proxy.c b/client/dbus-proxy.c index 0373a3df..624ce4aa 100644 --- a/client/dbus-proxy.c +++ b/client/dbus-proxy.c @@ -107,6 +107,9 @@ static void proxy_interface_property_update(struct proxy_interface *proxy, const struct proxy_interface_property *property_table = proxy->type->properties; + if (!property_table) + return; + for (i = 0; property_table[i].name; i++) { if (strcmp(property_table[i].name, name)) continue;