diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-10-08 03:39:01 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-10-08 03:39:01 +0200 |
commit | 9b471735459d7274f6d7cc646f1d01011f844862 (patch) | |
tree | 7bb4caff3cf26138ee461a9ed63952f95b045e5e | |
parent | ac7cda9e149918c2d0afc94b82dea02802ed6f90 (diff) | |
parent | 98ef887a759c66febcb612407c6bb361c4d50bcb (diff) | |
download | ffmpeg-9b471735459d7274f6d7cc646f1d01011f844862.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
mpegps: Use av_get_packet() instead of poorly emulating it.
motionpixels: decode only the 111 complete frames for fate
mpc8: Check out of bound bands limit
xan: Prevent NULL dereference with missing palette
xan: Check for out of bound reads in xan_huffman_decode()
xan: Fixed out of bound accesses in xan_unpack()
motionpixels: Prevent calling init_vlc() with invalid parameters
shorten: Fix out of bound writes in fix_bitshift()
dsicinav: Check for out of bounds writes
tiertexseqv: Check for out of bound reads
quickdraw: Check for out of bound reads
dsicinav: Check for out of bounds reads
motionpixels: Fix the size of workspace buffers
motionpixels: Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffer
wmavoice: Check for corrupted extra data
wmavoice: Check for out of bound writes
xan: Prevent NULL dereferences with missing reference frame
bink: Prevent NULL dereferences with missing reference frame
wavpack: Reset internal state on corrupted blocks
wmapro: Validate the number of audio channels before using it
...
Conflicts:
libavcodec/h264.c
libavcodec/xan.c
tests/ref/fate/motionpixels
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/h264.c | 2 | ||||
-rw-r--r-- | libavcodec/xan.c | 4 | ||||
-rw-r--r-- | libavformat/mpeg.c | 9 | ||||
-rw-r--r-- | tests/fate.mak | 2 | ||||
-rw-r--r-- | tests/ref/fate/motionpixels | 1 |
5 files changed, 6 insertions, 12 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 40da076530..df24bcf53a 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3747,7 +3747,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){ case NAL_IDR_SLICE: case NAL_SLICE: init_get_bits(&hx->s.gb, ptr, bit_length); - if(!get_ue_golomb(&hx->s.gb)) + if (!get_ue_golomb(&hx->s.gb)) nals_needed = nal_index; } continue; diff --git a/libavcodec/xan.c b/libavcodec/xan.c index 21b5302000..edd4fe8197 100644 --- a/libavcodec/xan.c +++ b/libavcodec/xan.c @@ -555,8 +555,10 @@ static int xan_decode_frame(AVCodecContext *avctx, } buf_size = buf_end - buf; } - if (s->palettes_count <= 0) + if (s->palettes_count <= 0) { + av_log(s->avctx, AV_LOG_ERROR, "No palette found\n"); return AVERROR_INVALIDDATA; + } if ((ret = avctx->get_buffer(avctx, &s->current_frame))) { av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n"); diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c index b21bc601eb..8a79eca14d 100644 --- a/libavformat/mpeg.c +++ b/libavformat/mpeg.c @@ -572,14 +572,7 @@ static int mpegps_read_packet(AVFormatContext *s, else if (st->codec->bits_per_coded_sample == 28) return AVERROR(EINVAL); } - av_new_packet(pkt, len); - ret = avio_read(s->pb, pkt->data, pkt->size); - if (ret < 0) { - pkt->size = 0; - } else if (ret < pkt->size) { - pkt->size = ret; - memset(pkt->data + ret, 0, FF_INPUT_BUFFER_PADDING_SIZE); - } + ret = av_get_packet(s->pb, pkt, len); pkt->pts = pts; pkt->dts = dts; pkt->pos = dummy_pos; diff --git a/tests/fate.mak b/tests/fate.mak index 74e710db8a..d2e551ec6f 100644 --- a/tests/fate.mak +++ b/tests/fate.mak @@ -179,7 +179,7 @@ fate-maxis-xa: CMD = md5 -i $(SAMPLES)/maxis-xa/SC2KBUG.XA -f s16le FATE_TESTS += fate-mimic fate-mimic: CMD = framecrc -idct simple -i $(SAMPLES)/mimic/mimic2-womanloveffmpeg.cam -vsync 0 FATE_TESTS += fate-motionpixels -fate-motionpixels: CMD = framecrc -i $(SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24 +fate-motionpixels: CMD = framecrc -i $(SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24 -vframes 111 FATE_TESTS += fate-mpc7-demux fate-mpc7-demux: CMD = crc -i $(SAMPLES)/musepack/inside-mp7.mpc -acodec copy FATE_TESTS += fate-mpc8-demux diff --git a/tests/ref/fate/motionpixels b/tests/ref/fate/motionpixels index 30651e92c6..fa86f7379f 100644 --- a/tests/ref/fate/motionpixels +++ b/tests/ref/fate/motionpixels @@ -109,4 +109,3 @@ 0, 648003, 230400, 0xb343f372 0, 654003, 230400, 0xf7f1e588 0, 660003, 230400, 0x9682bdb2 -0, 666003, 230400, 0x16f9aad8 |