[vlc-devel] commit: Fix CID 103 resource leak and added checks for memory return values . (Jean-Paul Saman )
git version control
git at videolan.org
Sat May 31 17:19:53 CEST 2008
vlc | branch: 0.8.6-bugfix | Jean-Paul Saman <jpsaman at videolan.org> | Sat May 31 17:21:10 2008 +0200| [682e04fb26fec70adbf326f7798864d88b4684bc]
Fix CID 103 resource leak and added checks for memory return values.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=682e04fb26fec70adbf326f7798864d88b4684bc
---
src/input/es_out.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/input/es_out.c b/src/input/es_out.c
index 1aec903..b3ad712 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -143,6 +143,13 @@ es_out_t *input_EsOutNew( input_thread_t *p_input )
vlc_value_t val;
int i;
+ if( !out ) return NULL;
+ if( !p_sys )
+ {
+ free( out );
+ return NULL;
+ }
+
out->pf_add = EsOutAdd;
out->pf_send = EsOutSend;
out->pf_del = EsOutDel;
@@ -485,6 +492,7 @@ static es_out_pgrm_t *EsOutProgramAdd( es_out_t *out, int i_group )
vlc_value_t val;
es_out_pgrm_t *p_pgrm = malloc( sizeof( es_out_pgrm_t ) );
+ if( !p_pgrm ) return NULL;
/* Init */
p_pgrm->i_id = i_group;
@@ -571,6 +579,8 @@ static void EsOutProgramMeta( es_out_t *out, int i_group, vlc_meta_t *p_meta )
char *psz_provider = NULL;
int i;
+ if( !psz_cat ) return;
+
msg_Dbg( p_input, "EsOutProgramMeta: number=%d", i_group );
sprintf( psz_cat, "%s %d", _("Program"), i_group );
@@ -657,9 +667,12 @@ static es_out_id_t *EsOutAdd( es_out_t *out, es_format_t *fmt )
es_out_pgrm_t *p_pgrm = NULL;
int i;
+ if( !es ) return NULL;
+
if( fmt->i_group < 0 )
{
msg_Err( p_input, "invalid group number" );
+ free( es );
return NULL;
}
More information about the vlc-devel
mailing list