[vlc-commits] mod: use vlc_obj_malloc() and simplify

Rémi Denis-Courmont git at videolan.org
Thu May 3 18:57:48 CEST 2018


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu May  3 19:55:23 2018 +0300| [30900622183bb6603d58c1b09441900d37650bb8] | committer: Rémi Denis-Courmont

mod: use vlc_obj_malloc() and simplify

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

 modules/demux/mod.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/modules/demux/mod.c b/modules/demux/mod.c
index 78bb787de0..c05f68ae2d 100644
--- a/modules/demux/mod.c
+++ b/modules/demux/mod.c
@@ -159,21 +159,21 @@ static int Open( vlc_object_t *p_this )
     if( i_size <= 0 || i_size >= MOD_MAX_FILE_SIZE )
         return VLC_EGENERIC;
 
-    p_sys = malloc( sizeof( *p_sys ) );
+    p_sys = vlc_obj_malloc( p_this, sizeof (*p_sys) );
     if( !p_sys )
         return VLC_ENOMEM;
 
     msg_Dbg( p_demux, "loading complete file (could be long)" );
     p_sys->i_data = i_size;
-    p_sys->p_data = malloc( p_sys->i_data );
-    if( p_sys->p_data )
-        p_sys->i_data = vlc_stream_Read( p_demux->s, p_sys->p_data,
-                                         p_sys->i_data );
-    if( p_sys->i_data <= 0 || !p_sys->p_data )
+    p_sys->p_data = vlc_obj_malloc( p_this, p_sys->i_data );
+    if( unlikely(p_sys->p_data == NULL) )
+        return VLC_ENOMEM;
+
+    p_sys->i_data = vlc_stream_Read( p_demux->s, p_sys->p_data,
+                                     p_sys->i_data );
+    if( p_sys->i_data <= 0 )
     {
         msg_Err( p_demux, "failed to read the complete file" );
-        free( p_sys->p_data );
-        free( p_sys );
         return VLC_EGENERIC;
     }
 
@@ -212,8 +212,6 @@ static int Open( vlc_object_t *p_this )
     if( !p_sys->f )
     {
         msg_Err( p_demux, "failed to understand the file" );
-        free( p_sys->p_data );
-        free( p_sys );
         return VLC_EGENERIC;
     }
 
@@ -252,11 +250,8 @@ static void Close( vlc_object_t *p_this )
     demux_sys_t *p_sys = p_demux->p_sys;
 
     ModPlug_Unload( p_sys->f );
-    free( p_sys->p_data );
-    free( p_sys );
 }
 
-
 /*****************************************************************************
  * Demux:
  *****************************************************************************/



More information about the vlc-commits mailing list