summaryrefslogtreecommitdiff
path: root/src/advertising.c
diff options
context:
space:
mode:
authorChristian Eggers <ceggers@arri.de>2022-09-23 16:55:56 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-09-23 13:34:24 -0700
commit732eaa7ccf85cb1038343d76a11c3e2b34029c44 (patch)
tree7c1adbc24cda8540613994ae3880695e4bb7f7d6 /src/advertising.c
parent2e4327816587ee7d2e3238268cacbdf40faa4b0e (diff)
downloadbluez-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.c6
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;