[vlc-commits] es_out: check return from es_format_Copy
Thomas Guillem
git at videolan.org
Mon Sep 3 17:05:55 CEST 2018
vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Mon Sep 3 15:31:50 2018 +0200| [9238af69e6280307c9aa51627589fb88606294cf] | committer: Thomas Guillem
es_out: check return from es_format_Copy
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9238af69e6280307c9aa51627589fb88606294cf
---
src/input/es_out.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/input/es_out.c b/src/input/es_out.c
index 69acd09809..dadea39cb1 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -1525,10 +1525,21 @@ static es_out_id_t *EsOutAddSlaveLocked( es_out_t *out, const es_format_t *fmt,
if( !es )
return NULL;
+ if( es_format_Copy( &es->fmt, fmt ) != VLC_SUCCESS )
+ {
+ free( es );
+ return NULL;
+ }
+ if( es->fmt.i_id < 0 )
+ es->fmt.i_id = p_sys->i_id;
+ if( !es->fmt.i_original_fourcc )
+ es->fmt.i_original_fourcc = es->fmt.i_codec;
+
/* Search the program */
p_pgrm = EsOutProgramFind( out, fmt->i_group );
if( !p_pgrm )
{
+ es_format_Clean( &es->fmt );
free( es );
return NULL;
}
@@ -1538,11 +1549,6 @@ static es_out_id_t *EsOutAddSlaveLocked( es_out_t *out, const es_format_t *fmt,
/* Set up ES */
es->p_pgrm = p_pgrm;
- es_format_Copy( &es->fmt, fmt );
- if( es->fmt.i_id < 0 )
- es->fmt.i_id = p_sys->i_id;
- if( !es->fmt.i_original_fourcc )
- es->fmt.i_original_fourcc = es->fmt.i_codec;
es->i_meta_id = p_sys->i_id++; /* always incremented */
es->b_scrambled = false;
More information about the vlc-commits
mailing list