X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmp3_header_decompress_bsf.c;h=44c174c21c73124076cf9254165994e9b6609636;hb=90262f3fb4afe4b903888e45cc40e2116cb69683;hp=294858953cbcee036ab3221acf759dce86899974;hpb=ce265b0bf5d0c77a092a1f5fbeb652c7cdea5fc7;p=ffmpeg diff --git a/libavcodec/mp3_header_decompress_bsf.c b/libavcodec/mp3_header_decompress_bsf.c index 294858953cb..44c174c21c7 100644 --- a/libavcodec/mp3_header_decompress_bsf.c +++ b/libavcodec/mp3_header_decompress_bsf.c @@ -20,8 +20,8 @@ #include "libavutil/common.h" #include "libavutil/intreadwrite.h" -#include "avcodec.h" #include "bsf.h" +#include "bsf_internal.h" #include "mpegaudiodecheader.h" #include "mpegaudiodata.h" @@ -62,6 +62,11 @@ static int mp3_header_decompress(AVBSFContext *ctx, AVPacket *out) lsf = sample_rate < (24000+32000)/2; mpeg25 = sample_rate < (12000+16000)/2; sample_rate_index= (header>>10)&3; + if (sample_rate_index == 3) { + ret = AVERROR_INVALIDDATA; + goto fail; + } + sample_rate= avpriv_mpa_freq_tab[sample_rate_index] >> (lsf + mpeg25); //in case sample rate is a little off for(bitrate_index=2; bitrate_index<30; bitrate_index++){