diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2023-05-10 16:29:55 -0700 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2023-05-12 13:31:53 -0700 |
commit | 67fd8479f11c12e396494fe80cd1965ee7ff4500 (patch) | |
tree | 0c6b801e7e54eb4f9d1b31d5b322a172b0f8e323 /client | |
parent | 93d0d8b2fc696212743be2fe9cedcf0edb1073d4 (diff) | |
download | bluez-67fd8479f11c12e396494fe80cd1965ee7ff4500.tar.gz |
client/player: Fix crashes accessing metadata
If metadata is not set the respective iovec is left NULL so it needs to
be checked before accessing its fields.
Diffstat (limited to 'client')
-rw-r--r-- | client/player.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/client/player.c b/client/player.c index 7719076c8..4674bd644 100644 --- a/client/player.c +++ b/client/player.c @@ -1605,7 +1605,7 @@ static void append_properties(DBusMessageIter *iter, DBUS_TYPE_BYTE, &cfg->caps->iov_base, cfg->caps->iov_len); - if (cfg->meta->iov_len) { + if (cfg->meta && cfg->meta->iov_len) { g_dbus_dict_append_basic_array(&dict, DBUS_TYPE_STRING, &meta, DBUS_TYPE_BYTE, &cfg->meta->iov_base, cfg->meta->iov_len); @@ -1712,7 +1712,8 @@ static DBusMessage *endpoint_select_properties_reply(struct endpoint *ep, cfg->target_latency = preset->target_latency; /* Copy metadata */ - iov_append(&cfg->meta, cfg->ep->meta->iov_base, cfg->ep->meta->iov_len); + if (ep->meta) + iov_append(&cfg->meta, ep->meta->iov_base, ep->meta->iov_len); if (preset->qos.phy) /* Set QoS parameters */ |