summaryrefslogtreecommitdiff
path: root/src/combined
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2008-04-15 01:06:51 +0100
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2008-04-15 01:06:51 +0100
commite79f77ee055a7503e3e27e945933602d080ecd7b (patch)
tree683a2d446b45866646c7cf00c6710372dd5f2d48 /src/combined
parentf1925da5c80d4170425f6efb6ad68a2909074057 (diff)
parentc440431caef75667ce807f49ec72e029d7e5037f (diff)
downloadxine-lib-e79f77ee055a7503e3e27e945933602d080ecd7b.tar.gz
xine-lib-e79f77ee055a7503e3e27e945933602d080ecd7b.tar.bz2
Merge from 1.1.
--HG-- rename : debian/libxine1.install => debian/libxine2.install rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
Diffstat (limited to 'src/combined')
-rw-r--r--src/combined/xine_speex_decoder.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/combined/xine_speex_decoder.c b/src/combined/xine_speex_decoder.c
index 865232e30..5116f70e2 100644
--- a/src/combined/xine_speex_decoder.c
+++ b/src/combined/xine_speex_decoder.c
@@ -203,7 +203,7 @@ static void speex_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) {
if (!this->st) {
SpeexMode * spx_mode;
SpeexHeader * spx_header;
- int modeID;
+ unsigned int modeID;
int bitrate;
speex_bits_init (&this->bits);
@@ -215,7 +215,12 @@ static void speex_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) {
return;
}
- modeID = spx_header->mode;
+ modeID = (unsigned int)spx_header->mode;
+ if (modeID >= SPEEX_NB_MODES) {
+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": invalid mode ID %u\n", modeID);
+ return;
+ }
+
spx_mode = (SpeexMode *) speex_mode_list[modeID];
if (spx_mode->bitstream_version != spx_header->mode_bitstream_version) {