From 107d4cdd6119ffb3714a2422635e989b56e96f4d Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Tue, 30 Jul 2024 02:52:02 +0300 Subject: [PATCH] engine: client: fix buffer overrun in S_TrimEnd --- engine/client/s_vox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/client/s_vox.c b/engine/client/s_vox.c index a5cd1816..0d8b7d3a 100644 --- a/engine/client/s_vox.c +++ b/engine/client/s_vox.c @@ -96,7 +96,7 @@ static int S_TrimEnd( const wavdata_t *wav, int end ) 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++ ) { @@ -109,7 +109,7 @@ static int S_TrimEnd( const wavdata_t *wav, int end ) } 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++ ) {