[vlc-commits] mkv: Don't probe position for non finite elements

Hugo Beauzée-Luyssen git at videolan.org
Tue Aug 13 14:08:02 CEST 2019


vlc | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Mon Aug 12 10:18:35 2019 +0200| [7f5d54574e9d9889f72c17ca80148689de6e5b28] | committer: Hugo Beauzée-Luyssen

mkv: Don't probe position for non finite elements

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7f5d54574e9d9889f72c17ca80148689de6e5b28
---

 modules/demux/mkv/Ebml_parser.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/demux/mkv/Ebml_parser.cpp b/modules/demux/mkv/Ebml_parser.cpp
index 00b9efbb2d..b02c8572ed 100644
--- a/modules/demux/mkv/Ebml_parser.cpp
+++ b/modules/demux/mkv/Ebml_parser.cpp
@@ -164,7 +164,7 @@ next:
         if (i_max_read == 0)
         {
             /* check if the parent still has data to read */
-            if ( mi_level > 1 &&
+            if ( mi_level > 1 && m_el[mi_level-2]->IsFiniteSize() &&
                  m_el[mi_level-1]->GetEndPosition() < m_el[mi_level-2]->GetEndPosition() )
             {
                 uint64 top = m_el[mi_level-2]->GetEndPosition();
@@ -300,6 +300,7 @@ next:
                      m_el[mi_level]->GetElementPosition() );
 
             if( mi_level >= 1 &&
+                m_el[mi_level]->IsFiniteSize() && m_el[mi_level-1]->IsFiniteSize() &&
                 m_el[mi_level]->GetElementPosition() >= m_el[mi_level-1]->GetEndPosition() )
             {
                 msg_Err(p_demux, "This element is outside its known parent... upping level");



More information about the vlc-commits mailing list