vlc | branch: master | Francois Cartegnie <[email protected]> | Sun Dec 25 
21:38:15 2016 +0100| [9e2543f50dbdb036cf80ca39a3690b037c416663] | committer: 
Francois Cartegnie

demux: libasf: fix unchecked allocs/charset conversion

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

 modules/demux/asf/libasf.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/modules/demux/asf/libasf.c b/modules/demux/asf/libasf.c
index c5213ce..803effd 100644
--- a/modules/demux/asf/libasf.c
+++ b/modules/demux/asf/libasf.c
@@ -400,15 +400,18 @@ static int ASF_ReadObject_metadata( stream_t *s, 
asf_object_t *p_obj )
         if( p_record->i_type == ASF_METADATA_TYPE_STRING )
         {
             p_record->p_data = (uint8_t *)ASF_READS( i_data );
-            p_record->i_data = i_data/2; /* FIXME Is that needed ? */
+            if( p_record->p_data )
+                p_record->i_data = i_data/2; /* FIXME Is that needed ? */
         }
         else if( p_record->i_type == ASF_METADATA_TYPE_BYTE )
         {
             p_record->p_data = malloc( i_data );
-            p_record->i_data = i_data;
-            if( p_record->p_data && i_data > 0 )
-                memcpy( p_record->p_data, p_data, i_data );
-
+            if( p_record->p_data )
+            {
+                p_record->i_data = i_data;
+                if( p_record->p_data && i_data > 0 )
+                    memcpy( p_record->p_data, p_data, i_data );
+            }
             p_data += i_data;
         }
         else if( p_record->i_type == ASF_METADATA_TYPE_QWORD )

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

Reply via email to