[FFmpeg-cvslog] matroskadec: honor error_recognition when encountering unknown elements.
Anton Khirnov
git at videolan.org
Mon Jul 9 22:43:08 CEST 2012
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Sat Jul 7 17:15:27 2012 +0200| [5b7a88f0ba160ce9ba9f625dd1a777a66244c089] | committer: Anton Khirnov
matroskadec: honor error_recognition when encountering unknown elements.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5b7a88f0ba160ce9ba9f625dd1a777a66244c089
---
libavformat/matroskadec.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 3b78ae3..40c2eb1 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -783,8 +783,11 @@ static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
matroska->num_levels > 0 &&
matroska->levels[matroska->num_levels-1].length == 0xffffffffffffff)
return 0; // we reached the end of an unknown size cluster
- if (!syntax[i].id && id != EBML_ID_VOID && id != EBML_ID_CRC32)
+ if (!syntax[i].id && id != EBML_ID_VOID && id != EBML_ID_CRC32) {
av_log(matroska->ctx, AV_LOG_INFO, "Unknown entry 0x%X\n", id);
+ if (matroska->ctx->error_recognition & AV_EF_EXPLODE)
+ return AVERROR_INVALIDDATA;
+ }
return ebml_parse_elem(matroska, &syntax[i], data);
}
More information about the ffmpeg-cvslog
mailing list