Browse Source

matroskadec: fix crash when parsing invalid mkv

CC: libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
tags/n2.7
Thomas Guillem Anton Khirnov 10 years ago
parent
commit
b8d7f3186e
1 changed files with 6 additions and 2 deletions
  1. +6
    -2
      libavformat/matroskadec.c

+ 6
- 2
libavformat/matroskadec.c View File

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


Loading…
Cancel
Save