OSDN Git Service

lavf: check stream_index from read_packet() for validity.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 11 Oct 2011 23:04:12 +0000 (01:04 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 11 Oct 2011 23:04:12 +0000 (01:04 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index d98a17a..5898295 100644 (file)
@@ -762,6 +762,11 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt)
         if(!(s->flags & AVFMT_FLAG_KEEP_SIDE_DATA))
             av_packet_merge_side_data(pkt);
 
+        if(pkt->stream_index >= (unsigned)s->nb_streams){
+            av_log(s, AV_LOG_ERROR, "Invalid stream index %d\n", pkt->stream_index);
+            continue;
+        }
+
         st= s->streams[pkt->stream_index];
 
         switch(st->codec->codec_type){