engine: client: fix buffer overrun in S_TrimEnd

This commit is contained in:
Alibek Omarov 2024-07-30 02:52:02 +03:00
parent 52f9aad4d0
commit 107d4cdd61

View file

@ -96,7 +96,7 @@ static int S_TrimEnd( const wavdata_t *wav, int end )
if( width == 1 ) if( width == 1 )
{ {
const int8_t *data = (const int8_t *)&wav->buffer[channels * width * end]; const int8_t *data = (const int8_t *)&wav->buffer[channels * width * ( end - 1 )];
for( i = 0; i < TRIM_SCAN_MAX && end > 0; i++ ) for( i = 0; i < TRIM_SCAN_MAX && end > 0; i++ )
{ {
@ -109,7 +109,7 @@ static int S_TrimEnd( const wavdata_t *wav, int end )
} }
else if( width == 2 ) else if( width == 2 )
{ {
const int16_t *data = (const int16_t *)&wav->buffer[channels * width * end]; const int16_t *data = (const int16_t *)&wav->buffer[channels * width * ( end - 1 )];
for( i = 0; i < TRIM_SCAN_MAX && end > 0; i++ ) for( i = 0; i < TRIM_SCAN_MAX && end > 0; i++ )
{ {