demux/ttml: fix style-attribute generation on merge
authorFilip Roséen <filip@atch.se>
Mon, 19 Sep 2016 21:53:37 +0000 (23:53 +0200)
committerHugo Beauzée-Luyssen <hugo@beauzee.fr>
Mon, 19 Sep 2016 22:40:47 +0000 (00:40 +0200)
If MergeStyles was invoked with *pp_dest == NULL, the resulting string
would contain unspecified/undefined data (given that passing NULL as
value for the corresponding format-specifier is undefined-behavior).

Most platforms will either print "" or "(null)" for such cases, and
the latter will cause problems with the decoder.

These changes fixes the issue by explicitly printing an empty string
if "*pp_dest == NULL".

fixes #17414

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
modules/demux/ttml.c

index f060d94..e100826 100644 (file)
@@ -254,7 +254,7 @@ static int MergeStyles(char** pp_dest, char* p_src)
     if( p_src )
     {
         char *p_tmp = NULL;
-        if( asprintf( &p_tmp, "%s %s", p_src, *pp_dest ) < 0 )
+        if( asprintf( &p_tmp, "%s %s", p_src, *pp_dest ? *pp_dest : "" ) < 0 )
             return VLC_ENOMEM;
 
         free( *pp_dest );