[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