From dc3e0211ed6203aee04473e5aa09aafeaa8ec55c Mon Sep 17 00:00:00 2001
From: Aurelien Jacobs <aurel@gnuage.org>
Date: Wed, 20 Aug 2008 22:30:15 +0000
Subject: [PATCH] matroskadec: stop parsing when skipping en element crossing
 over the end of file

Originally committed as revision 14869 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/matroskadec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 4f8bbbe2e22..1eb6d585ea2 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -765,7 +765,7 @@ static int ebml_parse_elem(MatroskaDemuxContext *matroska,
                      return ebml_parse_nest(matroska, syntax->def.n, data);
     case EBML_PASS:  return ebml_parse_id(matroska, syntax->def.n, id, data);
     case EBML_STOP:  *(int *)data = 1;      return 1;
-    default:         url_fskip(pb, length); return 0;
+    default:         return url_fseek(pb,length,SEEK_CUR)<0 ? AVERROR(EIO) : 0;
     }
     if (res == AVERROR_INVALIDDATA)
         av_log(matroska->ctx, AV_LOG_ERROR, "Invalid element\n");
-- 
GitLab