avformat/matroskaenc: actually enforce the stream limit

Prevents out of array accesses. Adressess ticket #6873

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2017-11-27 13:39:42 -03:00
parent 2d1594a8d6
commit 9d464dc3fc
1 changed files with 7 additions and 0 deletions

View File

@ -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 ||