[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