[vlc-devel] [PATCH 2/2] sout: description: make the ownership of es_format clear
Francois Cartegnie
fcvlcdev at free.fr
Mon Oct 1 20:44:11 CEST 2018
Le 01/10/2018 à 13:11, Zhao Zhili a écrit :
>> Only the NOTE is incorrect and the Del() must free the opaque, being
>> here a fmt copy.
>>
>
> Del() is called during input_Close(), but those es_format associated with sout-description-data are used after input_Close(). So if there is a single copy and Del() free those es_format, it leads to use-after-free.
> If you think two copies are not right, any other suggestion?
>
> vlm.c:
> var_Create( p_input, "sout-description-data", VLC_VAR_ADDRESS );
> var_SetAddress( p_input, "sout-description-data", &data );
>
> if( !input_Start( p_input ) )
> vlc_sem_wait( &sem_preparse );
>
> var_DelCallback( p_input, "intf-event", InputEventPreparse,
> &preparse );
>
> input_Stop( p_input );
> input_Close( p_input );
>
Sounds like a hackish module :/
But if the only purpose of description as sout module is to feed the
parent variable, then the Add can return NULL, that's unused. No local
data storage required.
--
Francois Cartegnie
VideoLAN - VLC Developer
More information about the vlc-devel
mailing list