From 85df114eb4ceae77e243ab3393a61ce52057fe94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E4=BD=B3=E5=92=8C?= Date: Fri, 3 Jul 2026 14:06:56 +0800 Subject: [PATCH] bluez5: Fix JSON parser iterator usage in bcast_source config Fix incorrect JSON iterator usage when parsing retransmissions and max_transport_latency fields in BIS configuration. The code incorrectly used it[2] iterator instead of it[1] when parsing BIS object fields, causing undefined behavior and configuration values being ignored. Signed-off-by: liujiahe --- spa/plugins/bluez5/bluez5-dbus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spa/plugins/bluez5/bluez5-dbus.c b/spa/plugins/bluez5/bluez5-dbus.c index f35a698cc..0de1cca63 100644 --- a/spa/plugins/bluez5/bluez5-dbus.c +++ b/spa/plugins/bluez5/bluez5-dbus.c @@ -7272,14 +7272,14 @@ static void parse_broadcast_source_config(struct spa_bt_monitor *monitor, const goto parse_failed; spa_log_debug(monitor->log, "bis_entry->qos_preset %s", bis_entry->qos_preset); } else if (spa_streq(bis_key, "retransmissions")) { - if (spa_json_get_int(&it[2], &bis_entry->retransmissions) <= 0) + if (spa_json_get_int(&it[1], &bis_entry->retransmissions) <= 0) goto parse_failed; if (bis_entry->retransmissions > RTN_MAX) goto parse_failed; bis_entry->rtn_manual_set = 1; spa_log_debug(monitor->log, "bis_entry->retransmissions %d", bis_entry->retransmissions); } else if (spa_streq(bis_key, "max_transport_latency")) { - if (spa_json_get_int(&it[2], &bis_entry->max_transport_latency) <= 0) + if (spa_json_get_int(&it[1], &bis_entry->max_transport_latency) <= 0) goto parse_failed; if (bis_entry->max_transport_latency < MAX_TRANSPORT_LATENCY_MIN && bis_entry->max_transport_latency > MAX_TRANSPORT_LATENCY_MAX)