Commit 668c873b authored by Michael Niedermayer's avatar Michael Niedermayer

matroskadec: check element size against stream limit in ebml_parse_elem()

Fixes Ticket1195
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent d673a3f4
......@@ -945,7 +945,10 @@ static int ebml_parse_elem(MatroskaDemuxContext *matroska,
return ebml_parse_nest(matroska, syntax->def.n, data);
case EBML_PASS: return ebml_parse_id(matroska, syntax->def.n, id, data);
case EBML_STOP: return 1;
default: return avio_skip(pb,length)<0 ? AVERROR(EIO) : 0;
default:
if(ffio_limit(pb, length) != length)
return AVERROR(EIO);
return avio_skip(pb,length)<0 ? AVERROR(EIO) : 0;
}
if (res == AVERROR_INVALIDDATA)
av_log(matroska->ctx, AV_LOG_ERROR, "Invalid element\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment