From 2ea2340e34e8dbd18903a7fca8cc9cc037fd9487 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Wed, 21 May 2008 21:04:42 +0000 Subject: [PATCH] check pkt stream index before returning packet, prevent segfault Originally committed as revision 13224 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/ffm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/ffm.c b/libavformat/ffm.c index 872e6f0ba8..bb2ee4bc97 100644 --- a/libavformat/ffm.c +++ b/libavformat/ffm.c @@ -610,6 +610,12 @@ static int ffm_read_packet(AVFormatContext *s, AVPacket *pkt) av_new_packet(pkt, size); pkt->stream_index = ffm->header[0]; + if ((unsigned)pkt->stream_index >= s->nb_streams) { + av_log(s, AV_LOG_ERROR, "invalid stream index %d\n", pkt->stream_index); + av_free_packet(pkt); + ffm->read_state = READ_HEADER; + return AVERROR(EAGAIN); + } pkt->pos = url_ftell(s->pb); if (ffm->header[1] & FLAG_KEY_FRAME) pkt->flags |= PKT_FLAG_KEY;