avformat/mxfdec: return error instead of segfaulting if there are no streams
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 31 May 2015 11:11:10 +0000 (13:11 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Jun 2015 11:45:47 +0000 (13:45 +0200)
Fixes segfault from ticket 4350

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/mxfdec.c

index c8f1c61..78e2393 100644 (file)
@@ -2995,6 +2995,10 @@ static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt)
     if (mxf->op != OPAtom)
         return mxf_read_packet_old(s, pkt);
 
+    // If we have no streams then we basically are at EOF
+    if (s->nb_streams < 1)
+        return AVERROR_EOF;
+
     /* OPAtom - clip wrapped demuxing */
     /* NOTE: mxf_read_header() makes sure nb_index_tables > 0 for OPAtom */
     st = s->streams[0];