[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