From 9ec904ab35ebef36095a70adf304030eb4004dc3 Mon Sep 17 00:00:00 2001 From: tma Date: Tue, 21 Feb 2006 22:29:29 +0000 Subject: * Fix to half of bug #2600 (Refuse to load RIFF files with less than 8 bits per sample) git-svn-id: svn://svn.icculus.org/quake3/trunk@580 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/client/snd_codec_wav.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'code') diff --git a/code/client/snd_codec_wav.c b/code/client/snd_codec_wav.c index a60f3da..a020841 100644 --- a/code/client/snd_codec_wav.c +++ b/code/client/snd_codec_wav.c @@ -132,6 +132,7 @@ static qboolean S_ReadRIFFHeader(fileHandle_t file, snd_info_t *info) { char dump[16]; int wav_format; + int bits; int fmtlen = 0; // skip the riff wav header @@ -150,7 +151,15 @@ static qboolean S_ReadRIFFHeader(fileHandle_t file, snd_info_t *info) info->rate = FGetLittleLong(file); FGetLittleLong(file); FGetLittleShort(file); - info->width = FGetLittleShort(file) / 8; + bits = FGetLittleShort(file); + + if( bits < 8 ) + { + Com_Printf( S_COLOR_RED "ERROR: Less than 8 bit sound is not supported\n"); + return qfalse; + } + + info->width = bits / 8; info->dataofs = 0; // Skip the rest of the format chunk if required -- cgit v1.2.3