From 407a3d94f566a68c7a862fcdac812bf53741af94 Mon Sep 17 00:00:00 2001
From: Aurelien Jacobs <aurel@gnuage.org>
Date: Mon, 4 Jun 2007 22:17:55 +0000
Subject: [PATCH] fix an infinite loop in case one cluster is not enough to
 demux a packet

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

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index a74944bb38f..6397e04352f 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2531,7 +2531,7 @@ matroska_read_packet (AVFormatContext *s,
                       AVPacket        *pkt)
 {
     MatroskaDemuxContext *matroska = s->priv_data;
-    int res = 0;
+    int res;
     uint32_t id;
 
     /* Read stream until we have a packet queued. */
@@ -2541,6 +2541,7 @@ matroska_read_packet (AVFormatContext *s,
         if (matroska->done)
             return AVERROR_IO;
 
+        res = 0;
         while (res == 0) {
             if (!(id = ebml_peek_id(matroska, &matroska->level_up))) {
                 return AVERROR_IO;
-- 
GitLab