aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264dec.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-05-17 00:30:15 +0200
committerJames Almer <jamrial@gmail.com>2019-07-16 16:17:00 -0300
commit04b62bd7ceb45d338799768a9c8b139f5b0ad77e (patch)
treef8aa7560bbee848507365763e3ed0241bcc44a97 /libavcodec/h264dec.c
parent5120305137436b556a23208f25b549c5d64fb38e (diff)
downloadffmpeg-04b62bd7ceb45d338799768a9c8b139f5b0ad77e.tar.gz
avformat/matroskadec: Improve invalid length error handling
1. Up until now, the error message for EBML numbers whose length exceeds the limits imposed upon them because of the element's type did not distinguish between known-length and unknown-length elements. As a consequence, the numerical value of the define constant EBML_UNKNOWN_LENGTH was emitted as part of the error message which is of course not appropriate. This commit changes this by adding error messages designed for unknown-length elements. 2. We impose some (arbitrary) sanity checks on the lengths of certain element types; these checks were conducted before the checks depending on whether the element exceeds its containing master element. Now the order has been reversed, because a failure at the (formerly) latter check implies that the file is truly erroneous and not only fails our arbitrary length limit. Moreover, this increases the informativeness of the error messages. 3. Furthermore, the error message in general has been changed by replacing the type of the element (something internal to this demuxer and therefore suitable as debug output at best, not as an error message intended for ordinary users) with the element ID. The element's position has been added, too. 4. Finally, the length limit for EBML_NONE elements has been changed so that all unknown-length elements of EBML_NONE-type trigger an error. This is done because unknown-length elements can't be skipped and need to be parsed, but there is no syntax to parse available for EBML_NONE elements. This is done in preparation for a further patch which allows more unknown-length elements than just clusters and segments. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/h264dec.c')
0 files changed, 0 insertions, 0 deletions