[vlc-devel] [PATCH 1/4] lib: media_player: release old media earlier

Thomas Guillem thomas at gllm.fr
Fri Sep 18 10:10:04 CEST 2020



On Fri, Sep 18, 2020, at 10:01, Hugo Beauzée-Luyssen wrote:
> On Fri, Sep 18, 2020, at 9:42 AM, Thomas Guillem wrote:
> > md or mp->p_md is not used after. No rick of race since mp->p_md is
> Risk*
> 
> > always written with the player lock held.
> > 
> > This fixes a potential null-dereference if the media was already set to
> > null and release by the user via libvlc_media_player_set_media().
> 
> Given than libvlc_media_release is checking for NULL media, I don't 
> understand the potential null-deref 

Indeed, but it's not usual having a _release() function checking for pointer nullity.

> 
> > ---
> >  lib/media_player.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/lib/media_player.c b/lib/media_player.c
> > index 4db7f96af05..26cf6469589 100644
> > --- a/lib/media_player.c
> > +++ b/lib/media_player.c
> > @@ -72,7 +72,10 @@ on_current_media_changed(vlc_player_t *player, 
> > input_item_t *new_media,
> >          return;
> >  
> >      if (md)
> > +    {
> >          media_detach_preparsed_event(md);
> > +        libvlc_media_release(md);
> > +    }
> >  
> >      if (new_media)
> >      {
> > @@ -87,8 +90,6 @@ on_current_media_changed(vlc_player_t *player, 
> > input_item_t *new_media,
> >      else
> >          mp->p_md = NULL;
> >  
> > -    libvlc_media_release(md);
> > -
> >      libvlc_event_t event;
> >      event.type = libvlc_MediaPlayerMediaChanged;
> >      event.u.media_player_media_changed.new_media = mp->p_md;
> > -- 
> > 2.28.0
> > 
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> 
> -- 
>   Hugo Beauzée-Luyssen
>   hugo at beauzee.fr
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list