summaryrefslogtreecommitdiffstats
path: root/libavcodec/mpegaudiodec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-19 01:36:23 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-19 01:47:10 +0100
commit4a519b6e036bb593d868c2a424da43512215c571 (patch)
treebbbd734383e7b2bfd005a1c19fe64d36d493b576 /libavcodec/mpegaudiodec.c
parent57182b9f0fa15ebedbf5229e17bc77a70cc68d9d (diff)
parent5be805d38cb43e6f0b85941f75946d09bc8cc13f (diff)
downloadffmpeg-streaming-4a519b6e036bb593d868c2a424da43512215c571.zip
ffmpeg-streaming-4a519b6e036bb593d868c2a424da43512215c571.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: mov: Use defines for sample flags in fragments mov: Use defines for trun flags mov: Use defines for tfhd flags proresenc: force bitrate not to exceed given limit vc1parse: call vc1_init_common(). wma: don't return 0 on invalid packets. asf: prevent packet_size_left from going negative if hdrlen > pktlen. mjpegb: don't return 0 at the end of frame decoding. rtpdec: Identify incorrectly signalled H263 vp8dsp: split long line. aiff: don't skip block_align==0 check on COMM-after-SSND files. dpcm: ignore extra unpaired bytes in stereo streams. mp3on4: require a minimum framesize. mpc7: assign an error level + context to av_log() msg. huffyuv: error out on bit overrun. dct-test: Add the missing ff_ prefix to the altivec functions dct-test: Remove a stray declaration of a nonexistent function movenc: Write the unknown duration as 64 bit fields in ismv movenc: Write track durations with all bits set if duration is unknown Conflicts: libavcodec/dct-test.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegaudiodec.c')
-rw-r--r--libavcodec/mpegaudiodec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
index 2ca30f2..f474161 100644
--- a/libavcodec/mpegaudiodec.c
+++ b/libavcodec/mpegaudiodec.c
@@ -1914,6 +1914,10 @@ static int decode_frame_mp3on4(AVCodecContext *avctx, void *data,
m = s->mp3decctx[fr];
assert(m != NULL);
+ if (fsize < HEADER_SIZE) {
+ av_log(avctx, AV_LOG_ERROR, "Frame size smaller than header size\n");
+ return AVERROR_INVALIDDATA;
+ }
header = (AV_RB32(buf) & 0x000fffff) | s->syncword; // patch header
if (ff_mpa_check_header(header) < 0) // Bad header, discard block
OpenPOWER on IntegriCloud