|
|
|
@@ -1827,8 +1827,12 @@ static int matroska_read_header(AVFormatContext *s) |
|
|
|
matroska->ctx = s; |
|
|
|
|
|
|
|
/* First read the EBML header. */ |
|
|
|
if (ebml_parse(matroska, ebml_syntax, &ebml) || |
|
|
|
ebml.version > EBML_VERSION || |
|
|
|
if (ebml_parse(matroska, ebml_syntax, &ebml) || !ebml.doctype) { |
|
|
|
av_log(matroska->ctx, AV_LOG_ERROR, "EBML header parsing failed\n"); |
|
|
|
ebml_free(ebml_syntax, &ebml); |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
if (ebml.version > EBML_VERSION || |
|
|
|
ebml.max_size > sizeof(uint64_t) || |
|
|
|
ebml.id_length > sizeof(uint32_t) || |
|
|
|
ebml.doctype_version > 3) { |
|
|
|
|