From a3885acb1be4c501976f428175b2d142d8a0461e Mon Sep 17 00:00:00 2001 From: Tony Mountifield Date: Tue, 29 Aug 2023 18:27:26 +0100 Subject: [PATCH 1/2] Fix overflow warnings from loop index #3161 --- src/client.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index d03162b3c2..d07ebbd879 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1249,7 +1249,7 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) } } - for ( i = 0; i < iSndCrdFrameSizeFactor; i++ ) + for ( i = 0, j = 0; i < iSndCrdFrameSizeFactor; i++, j += iNumAudioChannels * iOPUSFrameSizeSamples ) { // OPUS encoding if ( CurOpusEncoder != nullptr ) @@ -1257,7 +1257,7 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) if ( bMuteOutStream ) { iUnused = opus_custom_encode ( CurOpusEncoder, - &vecZeros[i * iNumAudioChannels * iOPUSFrameSizeSamples], + &vecZeros[j], iOPUSFrameSizeSamples, &vecCeltData[0], iCeltNumCodedBytes ); @@ -1265,7 +1265,7 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) else { iUnused = opus_custom_encode ( CurOpusEncoder, - &vecsStereoSndCrd[i * iNumAudioChannels * iOPUSFrameSizeSamples], + &vecsStereoSndCrd[j], iOPUSFrameSizeSamples, &vecCeltData[0], iCeltNumCodedBytes ); @@ -1283,7 +1283,7 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) vecsStereoSndCrdMuteStream = vecsStereoSndCrd; } - for ( i = 0; i < iSndCrdFrameSizeFactor; i++ ) + for ( i = 0, j = 0; i < iSndCrdFrameSizeFactor; i++, j += iNumAudioChannels * iOPUSFrameSizeSamples ) { // receive a new block const bool bReceiveDataOk = ( Channel.GetData ( vecbyNetwData, iCeltNumCodedBytes ) == GS_BUFFER_OK ); @@ -1311,7 +1311,7 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) iUnused = opus_custom_decode ( CurOpusDecoder, pCurCodedData, iCeltNumCodedBytes, - &vecsStereoSndCrd[i * iNumAudioChannels * iOPUSFrameSizeSamples], + &vecsStereoSndCrd[j], iOPUSFrameSizeSamples ); } } From 68cb85f6d6dd88027209486a649ac5d6dd11304a Mon Sep 17 00:00:00 2001 From: Tony Mountifield Date: Tue, 29 Aug 2023 21:08:01 +0100 Subject: [PATCH 2/2] Fix formatting of changed code for clang --- src/client.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index d07ebbd879..d4e1423cbd 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1256,19 +1256,11 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) { if ( bMuteOutStream ) { - iUnused = opus_custom_encode ( CurOpusEncoder, - &vecZeros[j], - iOPUSFrameSizeSamples, - &vecCeltData[0], - iCeltNumCodedBytes ); + iUnused = opus_custom_encode ( CurOpusEncoder, &vecZeros[j], iOPUSFrameSizeSamples, &vecCeltData[0], iCeltNumCodedBytes ); } else { - iUnused = opus_custom_encode ( CurOpusEncoder, - &vecsStereoSndCrd[j], - iOPUSFrameSizeSamples, - &vecCeltData[0], - iCeltNumCodedBytes ); + iUnused = opus_custom_encode ( CurOpusEncoder, &vecsStereoSndCrd[j], iOPUSFrameSizeSamples, &vecCeltData[0], iCeltNumCodedBytes ); } } @@ -1308,11 +1300,7 @@ void CClient::ProcessAudioDataIntern ( CVector& vecsStereoSndCrd ) // OPUS decoding if ( CurOpusDecoder != nullptr ) { - iUnused = opus_custom_decode ( CurOpusDecoder, - pCurCodedData, - iCeltNumCodedBytes, - &vecsStereoSndCrd[j], - iOPUSFrameSizeSamples ); + iUnused = opus_custom_decode ( CurOpusDecoder, pCurCodedData, iCeltNumCodedBytes, &vecsStereoSndCrd[j], iOPUSFrameSizeSamples ); } }