diff options
author | wm4 <nfxjfg@googlemail.com> | 2015-06-12 13:11:41 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-06-12 19:30:11 +0200 |
commit | 7e240f95818310ed721321e62130aa1c69f9cbe6 (patch) | |
tree | 727903485eae6da6a628ffec04ce545b08e163a1 /libavcodec/mjpega_dump_header_bsf.c | |
parent | cfe8a89b0087d08b73f1fec850b1a972f82388bb (diff) | |
download | ffmpeg-7e240f95818310ed721321e62130aa1c69f9cbe6.tar.gz |
matroskadec: verify seekhead IDs
Some files have SeekHead elements with broken IDs. They mismatch with
the ID of the destination element. These files are written by
"IDMmkvlib0.1" (as identified by the MuxingApp and WritingApp elements),
and the SeekHead IDs are actually endian-swapped.
This confuses the SeekHead logic of the demuxer. It will read some
elements twice, because the SeekHead ID is used to identify and remember
already read elements. With the file at hand, the stream list was
duplicated by reading the Tracks element twice.
Fix this by rejecting invalid EBML IDs in SeekHead entries. (This fix is
relatively specific to the broken file at hand, and doesn't protect
against some other cases of broken SeekHead, such as valid but
mismatching target element IDs.)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mjpega_dump_header_bsf.c')
0 files changed, 0 insertions, 0 deletions