vlc | branch: master | Alexandre Janniaux <[email protected]> | Sat Mar 21 18:57:48 2020 +0100| [0a21dc64004c5fe18dd08f87a33f67490f847e05] | committer: Alexandre Janniaux
es_out: check p_pgrm before checking visibility 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 <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0a21dc64004c5fe18dd08f87a33f67490f847e05 --- 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); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
