avformat/thp: Check av_get_packet() for failure not only for partial output
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 5 Feb 2015 02:45:21 +0000 (03:45 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 17 Feb 2015 18:43:18 +0000 (19:43 +0100)
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>
libavformat/thp.c

index bc4f0da..0d7a38b 100644 (file)
@@ -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);