diff --git a/src/client.cpp b/src/client.cpp index 9b5e502bee..0ba02b41e2 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -505,6 +505,8 @@ void CClient::SetDoAutoSockBufSize ( const bool bValue ) void CClient::SetRemoteChanGain ( const int iId, const float fGain, const bool bIsMyOwnFader ) { + Q_ASSERT ( iId >= 0 && iId < MAX_NUM_CHANNELS ); + QMutexLocker locker ( &MutexGainOrPan ); CClientChannel* clientChan = &clientChannels[iId]; diff --git a/src/protocol.cpp b/src/protocol.cpp index 3030c2dca1..200104a1bb 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -1056,6 +1056,11 @@ bool CProtocol::EvaluateClientIDMes ( const CVector& vecData ) // channel ID const int iCurID = static_cast ( GetValFromStream ( vecData, iPos, 1 ) ); + if ( iCurID >= MAX_NUM_CHANNELS ) + { + return true; // return error code + } + // invoke message action emit ClientIDReceived ( iCurID );