From 3e7a1cdb8c618808393bd7d458a90913feb8f655 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 22d971c37..34b39a98f 100644 --- a/spa/plugins/bluez5/bluez5-dbus.c +++ b/spa/plugins/bluez5/bluez5-dbus.c @@ -7152,14 +7152,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)