Message ID | 20220628215739.2332211-1-prestwoj@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | client: fix crash from unknown properties | expand |
Hi James, On 6/28/22 16:57, James Prestwood wrote: > 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(+) > Applied, thanks. Regards, -Denis
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;