From 562cfd84db9a37b8e9bfb03234ffc7a648ce74f7 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Mon, 20 Jul 2026 14:35:49 +0200 Subject: [PATCH] Add bounds check iChanID before array access Switch bounds check to use MathUtils Fix channel ID range check in audiomixerboard --- src/audiomixerboard.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 37ca0ff968..bedd53526f 100644 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -1349,9 +1349,12 @@ void CAudioMixerBoard::ApplyNewConClientList ( CVector& vecChanInf for ( size_t iFader = 0; iFader < iNumConnectedClients; iFader++ ) { - // ideally "iChanID" in CChannelInfo would be size_t if it can never be INVALID_INDEX - // as assumed here - iFaderNumber[vecChanInfo[iFader].iChanID] = static_cast ( iFader ); + const int iChanID = vecChanInfo[iFader].iChanID; + + if ( MathUtils::InRange ( iChanID, 0, MAX_NUM_CHANNELS ) ) + { + iFaderNumber[iChanID] = static_cast ( iFader ); + } } // Hide all unused faders and initialize used ones