From e0334109392c9a6f5b545bce6d3ae1c11f59ccc9 Mon Sep 17 00:00:00 2001 From: "Geoffrey D. Bennett" Date: Tue, 27 Jan 2026 03:52:15 +1030 Subject: [PATCH] speaker-test: fix segfault with more than 16 channels get_channel_name() was accessing the channel_name array without bounds checking. When using more than 16 channels without a channel map, it would read past the end of the array and crash. Signed-off-by: Geoffrey D. Bennett --- speaker-test/speaker-test.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c index d3fec2b3a..4bf90e3c6 100644 --- a/speaker-test/speaker-test.c +++ b/speaker-test/speaker-test.c @@ -285,7 +285,9 @@ static const char *get_channel_name(int chn) return name ? name : "Unknown"; } #endif - return gettext(channel_name[chn]); + if (chn < MAX_CHANNELS) + return gettext(channel_name[chn]); + return "Unknown"; } static const int supported_formats[] = {