From: Jean-Baptiste Kempf Date: Thu, 17 Apr 2008 18:19:35 +0000 (-0700) Subject: Fix for [oCERT-2008-004] multiple speex implementations insufficient boundary checks... X-Git-Tag: 0.9.0-test0~1432 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=8060b3457e20e6223b70927693f8da8f547b8fef;p=vlc Fix for [oCERT-2008-004] multiple speex implementations insufficient boundary checks. Patch by Eren Türkay --- diff --git a/THANKS b/THANKS index f32bb99caa..56b9cad5c3 100644 --- a/THANKS +++ b/THANKS @@ -78,6 +78,7 @@ Dylan Yudaken - hotkeys patch Emmanuel Blindauer - aRts audio output Enrico Gueli - Brightness threshold in adjust video filter Enrique Osuna - Various bug fixes in libvlc. Major Mac OS X Framework improvements. +Eren Türkay - Speex boundary checks and security fix Espen Skoglund - FreeBSD autoconf and Makefile patches Ethan C. Baldridge - directory browsing code Eurodata Computer Club - VLC icon design (v0.8.4) diff --git a/modules/codec/speex.c b/modules/codec/speex.c index d563245354..83890bbfd6 100644 --- a/modules/codec/speex.c +++ b/modules/codec/speex.c @@ -357,7 +357,7 @@ static int ProcessInitialHeader( decoder_t *p_dec, ogg_packet *p_oggpacket ) msg_Err( p_dec, "cannot read Speex header" ); return VLC_EGENERIC; } - if( p_header->mode >= SPEEX_NB_MODES ) + if( p_header->mode >= SPEEX_NB_MODES || p_header->mode < 0 ) { msg_Err( p_dec, "mode number %d does not (yet/any longer) exist in " "this version of libspeex.", p_header->mode );