Commit b2fcbc3a authored by Rémi Duraffort's avatar Rémi Duraffort

Check asprintf return value and fix a potential memleak.

parent 4239976f
...@@ -177,12 +177,13 @@ static inline int EsOutGetClosedCaptionsChannel( vlc_fourcc_t fcc ) ...@@ -177,12 +177,13 @@ static inline int EsOutGetClosedCaptionsChannel( vlc_fourcc_t fcc )
*****************************************************************************/ *****************************************************************************/
es_out_t *input_EsOutNew( input_thread_t *p_input, int i_rate ) es_out_t *input_EsOutNew( input_thread_t *p_input, int i_rate )
{ {
es_out_t *out = malloc( sizeof( es_out_t ) );
es_out_sys_t *p_sys = malloc( sizeof( es_out_sys_t ) );
vlc_value_t val; vlc_value_t val;
int i; int i;
es_out_t *out = malloc( sizeof( es_out_t ) );
if( !out ) return NULL; if( !out ) return NULL;
es_out_sys_t *p_sys = malloc( sizeof( es_out_sys_t ) );
if( !p_sys ) if( !p_sys )
{ {
free( out ); free( out );
...@@ -476,17 +477,13 @@ static void EsOutESVarUpdateGeneric( es_out_t *out, int i_id, es_format_t *fmt, ...@@ -476,17 +477,13 @@ static void EsOutESVarUpdateGeneric( es_out_t *out, int i_id, es_format_t *fmt,
{ {
if( psz_language && *psz_language ) if( psz_language && *psz_language )
{ {
char *temp; if( asprintf( &text.psz_string, "%s %i - [%s]", _( "Track" ), val.i_int, psz_language ) == -1 )
text.psz_string = malloc( strlen( _("Track %i") )+ text.psz_string = NULL;
strlen( psz_language ) + 30 );
asprintf( &temp, _("Track %i"), val.i_int );
sprintf( text.psz_string, "%s - [%s]", temp, psz_language );
free( temp );
} }
else else
{ {
text.psz_string = malloc( strlen( _("Track %i") ) + 20 ); if( asprintf( &text.psz_string, "%s %i", _( "Track" ), val.i_int ) == -1 )
sprintf( text.psz_string, _("Track %i"), val.i_int ); text.psz_string = NULL;
} }
} }
......
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