]> git.sesse.net Git - vlc/blobdiff - modules/codec/speex.c
Fix for [oCERT-2008-004] multiple speex implementations insufficient boundary checks...
[vlc] / modules / codec / speex.c
index d563245354520c0494483b2c2864a031b6656268..83890bbfd615920c33a21a8173c24526511062ac 100644 (file)
@@ -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 );