From d16c61873f45898151d2ee6b9def1123038f652e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Fri, 21 Mar 2025 17:57:42 +0700
Subject: [PATCH] ttml: fix null deref on empty namespace uri
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

refs #29053
resf #29055
regression by 44879313bab5b7208b12cb4968cf03a6f521e531

ttml: fix null deref on empty uri
---
 modules/codec/ttml/ttml.c | 2 +-
 modules/demux/ttml.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/codec/ttml/ttml.c b/modules/codec/ttml/ttml.c
index 6236f02df2f1..76d1b887c511 100644
--- a/modules/codec/ttml/ttml.c
+++ b/modules/codec/ttml/ttml.c
@@ -129,7 +129,7 @@ const char * tt_namespaces_GetPrefix( const tt_namespaces_t *nss,
 void tt_namespaces_Register( tt_namespaces_t *nss, const char *psz_prefix,
                              const char *psz_uri )
 {
-    if( tt_namespaces_GetPrefix( nss, psz_uri ) )
+    if( !psz_uri || tt_namespaces_GetPrefix( nss, psz_uri ) )
         return;
     struct tt_namespace_s *ns = malloc(sizeof(*ns));
     if( ns )
diff --git a/modules/demux/ttml.c b/modules/demux/ttml.c
index a9352477f348..17d2961ad208 100644
--- a/modules/demux/ttml.c
+++ b/modules/demux/ttml.c
@@ -174,7 +174,7 @@ static int ReadTTML( demux_t* p_demux )
                 break;
 
             case XML_READER_STARTELEM:
-                if( strcmp( psz_node_namespace, TT_NS ) ||
+                if( (psz_node_namespace && strcmp( psz_node_namespace, TT_NS )) ||
                     strcmp( tt_LocalName( psz_node_name ), "tt" ) ||
                     p_sys->p_rootnode != NULL )
                     return VLC_EGENERIC;
-- 
GitLab