[vlc-commits] [Git][videolan/vlc][master] contrib: ebml: fix early parent check

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu May 14 10:47:56 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
2a679fe5 by Steve Lhomme at 2026-05-14T10:17:01+00:00
contrib: ebml: fix early parent check

We can only check it if both elements are not infinite.

Fixes #29833

- - - - -


1 changed file:

- contrib/src/ebml/0002-EbmlMaster-exit-reading-loop-if-upper-element-found-.patch


Changes:

=====================================
contrib/src/ebml/0002-EbmlMaster-exit-reading-loop-if-upper-element-found-.patch
=====================================
@@ -1,4 +1,4 @@
-From e78fb38d6cfef3a8bc5eb7e39f4c210d291f0787 Mon Sep 17 00:00:00 2001
+From 50fba837fa4ebdd9b3c46f71a952873ae569cd48 Mon Sep 17 00:00:00 2001
 From: Steve Lhomme <robux4 at ycbcr.xyz>
 Date: Thu, 30 Apr 2026 16:28:00 +0200
 Subject: [PATCH 2/2] EbmlMaster: exit reading loop if upper element found ends
@@ -11,19 +11,19 @@ And we shouldn't use a MaxSizeToRead that would be negative.
  1 file changed, 3 insertions(+)
 
 diff --git a/src/EbmlMaster.cpp b/src/EbmlMaster.cpp
-index e8a43cc..9dc291a 100644
+index e8a43cc..6f03432 100644
 --- a/src/EbmlMaster.cpp
 +++ b/src/EbmlMaster.cpp
-@@ -453,6 +453,9 @@ void EbmlMaster::Read(EbmlStream & inDataStream, const EbmlSemanticContext & sCo
-         if (UpperEltFound > 0 || MaxSizeToRead == 0)
+@@ -454,6 +454,9 @@ void EbmlMaster::Read(EbmlStream & inDataStream, const EbmlSemanticContext & sCo
            goto processCrc;
          ElementLevelA = FoundElt;
-+        if (ElementLevelA->GetEndPosition() > GetEndPosition()) {
-+          goto processCrc; // found an upper element that ends after this, we were truncated
-+        }
          if (IsFiniteSize() && ElementLevelA->IsFiniteSize()) {
++          if (ElementLevelA->GetEndPosition() > GetEndPosition()) {
++            goto processCrc; // found an upper element that ends after this, we were truncated
++          }
            MaxSizeToRead = GetEndPosition() - ElementLevelA->GetEndPosition(); // even if it's the default value
          }
+         continue;
 -- 
 2.52.0.windows.1
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2a679fe52d87aeca53b2fa41a0cde4329c93d6dd

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2a679fe52d87aeca53b2fa41a0cde4329c93d6dd
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list