mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-28 14:01:27 +00:00
matroskadec: pad EBML_BIN data.
It might be passed to code requiring padding, such as lzo decompression. Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
This commit is contained in:
parent
f0259a587e
commit
30be1ea33e
@ -734,9 +734,11 @@ static int ebml_read_ascii(AVIOContext *pb, int size, char **str)
|
||||
static int ebml_read_binary(AVIOContext *pb, int length, EbmlBin *bin)
|
||||
{
|
||||
av_free(bin->data);
|
||||
if (!(bin->data = av_malloc(length)))
|
||||
if (!(bin->data = av_malloc(length + FF_INPUT_BUFFER_PADDING_SIZE)))
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
memset(bin->data + length, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
bin->size = length;
|
||||
bin->pos = avio_tell(pb);
|
||||
if (avio_read(pb, bin->data, length) != length) {
|
||||
|
Loading…
Reference in New Issue
Block a user