vlc | branch: master | Filip Roséen <fi...@atch.se> | Mon Sep 19 23:53:38 2016 
+0200| [9f1fcb3b9e26f851228fd9e8d8a9e5d3490de78e] | committer: Hugo 
Beauzée-Luyssen

demux/ttml: fix crash on unexpected data

The previous implementation would crash if no relevant element was
found to populate the node hierarchy. These changes make sure that the
implementation does not try to move up the node hierarchy if we are
already at the top.

fixes #17402

Signed-off-by: Hugo Beauzée-Luyssen <h...@beauzee.fr>

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

 modules/demux/ttml.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/modules/demux/ttml.c b/modules/demux/ttml.c
index e100826..66638b0 100644
--- a/modules/demux/ttml.c
+++ b/modules/demux/ttml.c
@@ -719,9 +719,12 @@ static int ReadTTML( demux_t* p_demux )
         /*  end tag after a p tag but inside the body */
         else if( i_type == XML_READER_ENDELEM && CompareTagName( 
psz_node_name, "body" ) )
         {
-            node_t* p_parent = p_parent_node->p_parent;
-            ClearNode( p_parent_node );
-            p_parent_node = p_parent;
+            if( p_parent_node )
+            {
+                node_t* p_parent = p_parent_node->p_parent;
+                ClearNode( p_parent_node );
+                p_parent_node = p_parent;
+            }
         }
     } while( i_type != XML_READER_ENDELEM || CompareTagName( psz_node_name, 
"tt" ) );
     ClearNodeStack( p_parent_node );

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to