[vlc-commits] mux: ogg: kill out of bound access warning for	contenttypeless codecs.
    Francois Cartegnie 
    git at videolan.org
       
    Wed Mar 12 17:44:21 CET 2014
    
    
  
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Mar 12 17:41:43 2014 +0100| [577f6f28932c10adc91117226cdfb773f22fcc16] | committer: Francois Cartegnie
mux: ogg: kill out of bound access warning for contenttypeless codecs.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=577f6f28932c10adc91117226cdfb773f22fcc16
---
 modules/mux/ogg.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/modules/mux/ogg.c b/modules/mux/ogg.c
index d91418c..02b844f 100644
--- a/modules/mux/ogg.c
+++ b/modules/mux/ogg.c
@@ -837,12 +837,14 @@ static void OggGetSkeletonFisbone( uint8_t **pp_buffer, long *pi_size,
     if ( p_input->p_fmt->p_extra )
         SetDWLE( &(*pp_buffer)[44], xiph_CountHeaders( p_input->p_fmt->p_extra, p_input->p_fmt->i_extra ) );
 
-    psz_header = *pp_buffer + FISBONE_BASE_SIZE;
-    memcpy( psz_header, headers.psz_content_type, strlen( headers.psz_content_type ) );
-    psz_header += strlen( headers.psz_content_type );
-    if ( headers.psz_role )
-        memcpy( psz_header, headers.psz_role, strlen( headers.psz_role ) );
-
+    if ( headers.i_size > 0 )
+    {
+        psz_header = *pp_buffer + FISBONE_BASE_SIZE;
+        memcpy( psz_header, headers.psz_content_type, strlen( headers.psz_content_type ) );
+        psz_header += strlen( headers.psz_content_type );
+        if ( headers.psz_role )
+            memcpy( psz_header, headers.psz_role, strlen( headers.psz_role ) );
+    }
     *pi_size = FISBONE_BASE_SIZE + headers.i_size;
 
     free( headers.psz_content_type );
    
    
More information about the vlc-commits
mailing list