diff options
author | Christian Eggers <ceggers@arri.de> | 2022-09-23 16:55:56 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2022-09-23 13:34:24 -0700 |
commit | 732eaa7ccf85cb1038343d76a11c3e2b34029c44 (patch) | |
tree | 7c1adbc24cda8540613994ae3880695e4bb7f7d6 /src/advertising.c | |
parent | 2e4327816587ee7d2e3238268cacbdf40faa4b0e (diff) | |
download | bluez-732eaa7ccf85cb1038343d76a11c3e2b34029c44.tar.gz |
advertising: parse_secondary: check for NULL iterator
The passed iterator can be NULL as in
gdbus/client.c::properties_changed():
...
proxy->prop_func(..., ..., iter=NULL, ...)
+--src/advertising.c::properties_changed(..., ..., iter, ...);
+--parse_secondary(iter, ...);
...
Diffstat (limited to 'src/advertising.c')
-rw-r--r-- | src/advertising.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/advertising.c b/src/advertising.c index 42ac62760..6d8d06edd 100644 --- a/src/advertising.c +++ b/src/advertising.c @@ -1047,6 +1047,12 @@ static bool parse_secondary(DBusMessageIter *iter, const char *str; struct adv_secondary *sec; + if (!iter) { + /* Reset secondary channels */ + client->flags &= ~MGMT_ADV_FLAG_SEC_MASK; + return true; + } + if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) return false; |