From 9d464dc3fccb53f1e7c83e3453084c1a7fb90503 Mon Sep 17 00:00:00 2001 From: James Almer Date: Mon, 27 Nov 2017 13:39:42 -0300 Subject: avformat/matroskaenc: actually enforce the stream limit Prevents out of array accesses. Adressess ticket #6873 Reviewed-by: Michael Niedermayer Signed-off-by: James Almer --- libavformat/matroskaenc.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libavformat/matroskaenc.c') diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index dad6d6c..0612678 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1859,6 +1859,13 @@ static int mkv_write_header(AVFormatContext *s) av_dict_get(s->metadata, "alpha_mode", NULL, 0)) version = 4; + if (s->nb_streams > MAX_TRACKS) { + av_log(s, AV_LOG_ERROR, + "At most %d streams are supported for muxing in Matroska\n", + MAX_TRACKS); + return AVERROR(EINVAL); + } + for (i = 0; i < s->nb_streams; i++) { if (s->streams[i]->codecpar->codec_id == AV_CODEC_ID_ATRAC3 || s->streams[i]->codecpar->codec_id == AV_CODEC_ID_COOK || -- cgit v1.1