summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-08-08 12:48:51 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-08-08 12:48:55 +0200
commit244a58fff0adabcce3f9ea80d848a562ff377843 (patch)
treefe546497572987521d63a1cbfdce237946f0aca4
parent4dfd4399eaca17360fbe302153ee6f0ad86603e0 (diff)
parent7997acee0542f6e0bb9ea42ff783f80b70878a2f (diff)
downloadffmpeg-244a58fff0adabcce3f9ea80d848a562ff377843.tar.gz
Merge commit '7997acee0542f6e0bb9ea42ff783f80b70878a2f' into release/1.1
* commit '7997acee0542f6e0bb9ea42ff783f80b70878a2f': Check if an mp3 header is using a reserved sample rate. Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/mpegaudiodecheader.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mpegaudiodecheader.c b/libavcodec/mpegaudiodecheader.c
index 7841b30e30..0acd46e203 100644
--- a/libavcodec/mpegaudiodecheader.c
+++ b/libavcodec/mpegaudiodecheader.c
@@ -25,6 +25,8 @@
*/
//#define DEBUG
+#include "libavutil/common.h"
+
#include "avcodec.h"
#include "mpegaudio.h"
#include "mpegaudiodata.h"
@@ -46,6 +48,8 @@ int avpriv_mpegaudio_decode_header(MPADecodeHeader *s, uint32_t header)
s->layer = 4 - ((header >> 17) & 3);
/* extract frequency */
sample_rate_index = (header >> 10) & 3;
+ if (sample_rate_index >= FF_ARRAY_ELEMS(avpriv_mpa_freq_tab))
+ sample_rate_index = 0;
sample_rate = avpriv_mpa_freq_tab[sample_rate_index] >> (s->lsf + mpeg25);
sample_rate_index += 3 * (s->lsf + mpeg25);
s->sample_rate_index = sample_rate_index;