From 074ac3c2d04abaf6b8b1048ba55a1e4ade13042f Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Mon, 10 Mar 2008 21:23:06 +0000 Subject: add out of bound stream index checks fix issue379 Originally committed as revision 12417 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/matroskadec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavformat') diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 8040388e84..a4274f310f 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2356,7 +2356,7 @@ matroska_read_header (AVFormatContext *s, MatroskaDemuxIndex *idx = &matroska->index[i]; track = matroska_find_track_by_num(matroska, idx->track); stream = matroska->tracks[track]->stream_index; - if (stream >= 0) + if (stream >= 0 && stream < matroska->ctx->nb_streams) av_add_index_entry(matroska->ctx->streams[stream], idx->pos, idx->time/matroska->time_scale, 0, 0, AVINDEX_KEYFRAME); @@ -2400,7 +2400,7 @@ matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data, int size, return res; } stream_index = matroska->tracks[track]->stream_index; - if (stream_index < 0) { + if (stream_index < 0 || stream_index >= matroska->ctx->nb_streams) { av_free(origdata); return res; } -- cgit v1.2.3