diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-02-05 03:45:21 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-02-17 19:43:18 +0100 |
commit | 7c3a3d47cf7f5d45a7f794b9509a907161d27f64 (patch) | |
tree | 3270f3a7119fdbc5b69f45b3c3e98b1490471714 | |
parent | bd9c755b22ff84a5d08dd065cdfd3faeceea690a (diff) | |
download | ffmpeg-7c3a3d47cf7f5d45a7f794b9509a907161d27f64.tar.gz |
avformat/thp: Check av_get_packet() for failure not only for partial output
Fixes null pointer dereference
Fixes: signal_sigsegv_db2c1f_3108_cov_163322880_pikmin2_opening1_partial.thp
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f2579dbb4b31e6ae731e7f5555680528ef3020ab)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/thp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/thp.c b/libavformat/thp.c index bc4f0dafe5..0d7a38b074 100644 --- a/libavformat/thp.c +++ b/libavformat/thp.c @@ -184,6 +184,8 @@ static int thp_read_packet(AVFormatContext *s, pkt->stream_index = thp->video_stream_index; } else { ret = av_get_packet(pb, pkt, thp->audiosize); + if (ret < 0) + return ret; if (ret != thp->audiosize) { av_free_packet(pkt); return AVERROR(EIO); |