summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <[email protected]>2014-07-14 22:25:23 +0200
committerMichael Niedermayer <[email protected]>2014-07-14 22:25:23 +0200
commit00049f193d07cec0409069bc51d0dcb8ab9da837 (patch)
tree5f1dfd1063f36dffb9f35ed4029cbf80772b7ff8
parentd832020bd853f84b96a3fdf3e0a385d8492ec8c8 (diff)
parentfcbcc561e0fdc95a7dd48b92db53846726aec27e (diff)
Merge commit 'fcbcc561e0fdc95a7dd48b92db53846726aec27e' into release/2.2
* commit 'fcbcc561e0fdc95a7dd48b92db53846726aec27e': Check if an mp3 header is using a reserved sample rate. Merged-by: Michael Niedermayer <[email protected]>
-rw-r--r--libavcodec/mpegaudiodecheader.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mpegaudiodecheader.c b/libavcodec/mpegaudiodecheader.c
index d337c458a0..5db195725f 100644
--- a/libavcodec/mpegaudiodecheader.c
+++ b/libavcodec/mpegaudiodecheader.c
@@ -24,6 +24,8 @@
* MPEG Audio header decoder.
*/
+#include "libavutil/common.h"
+
#include "avcodec.h"
#include "mpegaudio.h"
#include "mpegaudiodata.h"
@@ -45,6 +47,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;