From 67fd8479f11c12e396494fe80cd1965ee7ff4500 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Wed, 10 May 2023 16:29:55 -0700 Subject: 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. --- client/player.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'client') 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 */ -- cgit v1.2.1