diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-08-09 13:23:10 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-08-09 13:23:10 +0200 |
commit | f58cd2867a8af2eed13acdd21d067b48249b14a1 (patch) | |
tree | 837440285c982a627e31d444840017c3e62acfe9 | |
parent | c9837613ed05bb0c50c756d8cbe0f44b581efdd8 (diff) | |
download | ffmpeg-f58cd2867a8af2eed13acdd21d067b48249b14a1.tar.gz |
avformat/paf: Fix integer overflow and out of array read
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/paf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/paf.c b/libavformat/paf.c index 09786eb34f..09aefe6770 100644 --- a/libavformat/paf.c +++ b/libavformat/paf.c @@ -233,10 +233,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) p->current_frame_block++; } - size = p->video_size - p->frames_offset_table[p->current_frame]; - if (size < 1) + if (p->frames_offset_table[p->current_frame] >= p->video_size) return AVERROR_INVALIDDATA; + size = p->video_size - p->frames_offset_table[p->current_frame]; + if (av_new_packet(pkt, size) < 0) return AVERROR(ENOMEM); |