Commit f1558cbb authored by Jean-Paul Saman's avatar Jean-Paul Saman Committed by Jean-Paul Saman

Handle return value and fix memleaks.

parent 479a1cc2
...@@ -101,6 +101,10 @@ static int Open( vlc_object_t * p_this ) ...@@ -101,6 +101,10 @@ static int Open( vlc_object_t * p_this )
if( !p_demux->b_force ) if( !p_demux->b_force )
return VLC_EGENERIC; return VLC_EGENERIC;
p_demux->p_sys = p_sys = malloc( sizeof( demux_sys_t ) );
if( !p_sys )
return VLC_ENOMEM;
var_Create( p_demux, "demuxdump-append", VLC_VAR_BOOL|VLC_VAR_DOINHERIT ); var_Create( p_demux, "demuxdump-append", VLC_VAR_BOOL|VLC_VAR_DOINHERIT );
var_Get( p_demux, "demuxdump-append", &val ); var_Get( p_demux, "demuxdump-append", &val );
b_append = val.b_bool; b_append = val.b_bool;
...@@ -111,13 +115,15 @@ static int Open( vlc_object_t * p_this ) ...@@ -111,13 +115,15 @@ static int Open( vlc_object_t * p_this )
p_demux->pf_demux = Demux; p_demux->pf_demux = Demux;
p_demux->pf_control = Control; p_demux->pf_control = Control;
p_demux->p_sys = p_sys = malloc( sizeof( demux_sys_t ) );
p_sys->i_write = 0; p_sys->i_write = 0;
p_sys->p_file = NULL; p_sys->p_file = NULL;
p_sys->psz_file = var_CreateGetString( p_demux, "demuxdump-file" ); p_sys->psz_file = var_CreateGetString( p_demux, "demuxdump-file" );
if( *p_sys->psz_file == '\0' ) if( *p_sys->psz_file == '\0' )
{ {
msg_Warn( p_demux, "no dump file name given" ); msg_Warn( p_demux, "no dump file name given" );
free( p_sys->psz_file );
free( p_sys );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
...@@ -129,7 +135,7 @@ static int Open( vlc_object_t * p_this ) ...@@ -129,7 +135,7 @@ static int Open( vlc_object_t * p_this )
else if( ( p_sys->p_file = utf8_fopen( p_sys->psz_file, psz_mode ) ) == NULL ) else if( ( p_sys->p_file = utf8_fopen( p_sys->psz_file, psz_mode ) ) == NULL )
{ {
msg_Err( p_demux, "cannot create `%s' for writing", p_sys->psz_file ); msg_Err( p_demux, "cannot create `%s' for writing", p_sys->psz_file );
free( p_sys->psz_file );
free( p_sys ); free( p_sys );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
...@@ -156,7 +162,6 @@ static void Close( vlc_object_t *p_this ) ...@@ -156,7 +162,6 @@ static void Close( vlc_object_t *p_this )
fclose( p_sys->p_file ); fclose( p_sys->p_file );
} }
free( p_sys->psz_file ); free( p_sys->psz_file );
free( p_sys ); free( p_sys );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment