vlc/vlc-2.2 | branch: master | Filip Roséen <[email protected]> | Mon Dec  5 
13:52:54 2016 +0100| [9fe413ea1cc1caef546b8413c4eb077cad34dab2] | committer: 
Jean-Baptiste Kempf

demux/xiph_metadata: prevent null-pointer dereference

modules/demux/flac.c invokes vorbis_ParseComment with NULL as argument
for both i_seekpoint and ppp_seekpoint since the demuxer lacks support
for these entities.

These changes simply make sure that we do not treat the two parameters
as valid, if they are actually NULL.

Signed-off-by: Jean-Baptiste Kempf <[email protected]>

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

 modules/demux/xiph_metadata.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/modules/demux/xiph_metadata.c b/modules/demux/xiph_metadata.c
index f68d5e0..de7f289 100644
--- a/modules/demux/xiph_metadata.c
+++ b/modules/demux/xiph_metadata.c
@@ -430,12 +430,16 @@ void vorbis_ParseComment( es_format_t *p_fmt, vlc_meta_t 
**pp_meta,
     }
 #undef RM
 
-    for ( unsigned int i=0; i<chapters_array.i_size; i++ )
+    if( i_seekpoint && ppp_seekpoint )
     {
-        if ( !chapters_array.pp_chapters[i] ) continue;
-        TAB_APPEND_CAST( (seekpoint_t**), *i_seekpoint, *ppp_seekpoint,
-                         chapters_array.pp_chapters[i] );
+        for ( unsigned int i=0; i<chapters_array.i_size; i++ )
+        {
+            if ( !chapters_array.pp_chapters[i] ) continue;
+            TAB_APPEND_CAST( (seekpoint_t**), *i_seekpoint, *ppp_seekpoint,
+                chapters_array.pp_chapters[i] );
+        }
     }
+
     free( chapters_array.pp_chapters );
 }
 

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to