[vlc-devel] [PATCH] es_out: check p_pgrm before checking visibility

Thomas Guillem thomas at gllm.fr
Mon Mar 23 11:04:24 CET 2020


LGTM

On Mon, Mar 23, 2020, at 11:03, Alexandre Janniaux wrote:
> If EsOutProgramDel is called before EsOutProgramAdd with the program
> being currently selected, EsOutProgramAdd will call
> EsOutProgramIsVisible with p_sys->p_pgrm == NULL and accessing source
> just below will lead to UB/crash.
> 
> Regression from 8c9623b6c92a94191afdb7082f3a4bd5ea4995f0.
> 
> Note that the behaviour is slightly different from the previous
> behaviour, as it will now return false if no program is selected.
> 
> Co-authored-by: Thomas Guillem <thomas at gllm.fr>
> ---
>  src/input/es_out.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/src/input/es_out.c b/src/input/es_out.c
> index d6fa3e41e7..8d45a6c2c8 100644
> --- a/src/input/es_out.c
> +++ b/src/input/es_out.c
> @@ -1250,6 +1250,10 @@ static inline bool EsOutIsGroupSticky( es_out_t 
> *p_out, input_source_t *source,
>  static bool EsOutIsProgramVisible( es_out_t *out, input_source_t 
> *source, int i_group )
>  {
>      es_out_sys_t *p_sys = container_of(out, es_out_sys_t, out);
> +
> +    if (p_sys->p_pgrm == NULL)
> +        return false;
> +
>      return p_sys->i_group_id == 0
>          || (p_sys->i_group_id == i_group && p_sys->p_pgrm->source == 
> source);
>  }
> -- 
> 2.25.2
> 
>


More information about the vlc-devel mailing list