From a494edeb94fd9ac36087cd9f0f49d184879ec0af Mon Sep 17 00:00:00 2001 From: Dominic Fandrey Date: Sat, 26 Nov 2016 10:15:02 +0100 Subject: [PATCH] Fix undefined behaviour due to shifting signed in snd_mem.c --- code/client/snd_mem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/client/snd_mem.c b/code/client/snd_mem.c index 0ef3bd6b..b692eb57 100644 --- a/code/client/snd_mem.c +++ b/code/client/snd_mem.c @@ -141,7 +141,7 @@ static int ResampleSfx( sfx_t *sfx, int channels, int inrate, int inwidth, int s if( inwidth == 2 ) { sample = ( ((short *)data)[srcsample+j] ); } else { - sample = (int)( (unsigned char)(data[srcsample+j]) - 128) << 8; + sample = (unsigned int)( (unsigned char)(data[srcsample+j]) - 128) << 8; } part = (i*channels+j)&(SND_CHUNK_SIZE-1); if (part == 0) {