[vlc-devel] [PATCH] input: decoder: fix NULL deref on early cancellation

Thomas Guillem thomas at gllm.fr
Tue Mar 10 07:49:27 CET 2020



On Mon, Mar 9, 2020, at 22:50, Francois Cartegnie wrote:
> ---
>  src/input/decoder.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/input/decoder.c b/src/input/decoder.c
> index d868c21f23..998a2816bb 100644
> --- a/src/input/decoder.c
> +++ b/src/input/decoder.c
> @@ -650,7 +650,8 @@ static picture_t *ModuleThread_NewVideoBuffer( 
> decoder_t *p_dec )
>  {
>      struct decoder_owner *p_owner = dec_get_owner( p_dec );
>      assert( p_owner->p_vout );
> -
> +    if( p_owner->out_pool == NULL )
> +        return NULL;


The big question is : why is the out_pool destroyed before the decoder module in DeleteDecoder ?
So that every future decoder_NewPicture fails ? In that case, this patch is OK for me.

Steve ?

>      picture_t *pic = picture_pool_Wait( p_owner->out_pool );
>      if (pic)
>          picture_Reset( pic );
> -- 
> 2.24.1
> 
> _______________________________________________
> 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