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.
This commit is contained in:
James Prestwood 2022-06-28 14:57:39 -07:00 committed by Denis Kenzior
parent b878be31ae
commit e0613311c2
1 changed files with 3 additions and 0 deletions

View File

@ -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;