[vlc-devel] commit: Fix potential memleaks (CID 255) ( Rémi Duraffort )

git version control git at videolan.org
Fri Oct 10 01:45:21 CEST 2008


vlc | branch: 0.9-bugfix | Rémi Duraffort <ivoire at videolan.org> | Wed Oct  8 22:36:17 2008 +0200| [f311e9b2bd22f939c52e205911f47ad640210a6c] | committer: Derk-Jan Hartman 

Fix potential memleaks (CID 255)
(cherry picked from commit 2624f9afd29a7c9b0d6f8092db56bf72adeb4df0)

Signed-off-by: Derk-Jan Hartman <hartman at videolan.org>

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

 src/control/core.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/control/core.c b/src/control/core.c
index 9db5614..a4a62f8 100644
--- a/src/control/core.c
+++ b/src/control/core.c
@@ -108,7 +108,7 @@ libvlc_instance_t * libvlc_new( int argc, const char *const *argv,
     libvlc_int_t *p_libvlc_int = libvlc_InternalCreate();
     if( !p_libvlc_int ) RAISENULL( "VLC initialization failed" );
 
-    p_new = (libvlc_instance_t *)malloc( sizeof( libvlc_instance_t ) );
+    p_new = malloc( sizeof( libvlc_instance_t ) );
     if( !p_new ) RAISENULL( "Out of memory" );
 
     const char *my_argv[argc + 2];
@@ -121,11 +121,17 @@ libvlc_instance_t * libvlc_new( int argc, const char *const *argv,
     /** \todo Look for interface settings. If we don't have any, add -I dummy */
     /* Because we probably don't want a GUI by default */
 
-    i_ret=libvlc_InternalInit( p_libvlc_int, argc + 1, my_argv );
+    i_ret = libvlc_InternalInit( p_libvlc_int, argc + 1, my_argv );
     if( i_ret == VLC_EEXITSUCCESS )
-            return NULL;
+    {
+        free( p_new );
+        return NULL;
+    }
     else if( i_ret != 0 )
+    {
+        free( p_new );
         RAISENULL( "VLC initialization failed" );
+    }
 
     p_new->p_libvlc_int = p_libvlc_int;
     p_new->p_vlm = NULL;




More information about the vlc-devel mailing list