mirror of https://code.videolan.org/videolan/vlc
libvlc: delete preparser before interfaces
This fixes a use-after-free when the art fetcher was triggering a callback registered by the playlist (that was destroyed).
This commit is contained in:
parent
e08970c1ad
commit
9e9b227443
|
@ -508,6 +508,9 @@ void libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
|
|||
{
|
||||
libvlc_priv_t *priv = libvlc_priv (p_libvlc);
|
||||
|
||||
if (priv->parser != NULL)
|
||||
playlist_preparser_Delete(priv->parser);
|
||||
|
||||
/* Ask the interfaces to stop and destroy them */
|
||||
msg_Dbg( p_libvlc, "removing all interfaces" );
|
||||
libvlc_Quit( p_libvlc );
|
||||
|
@ -536,9 +539,6 @@ void libvlc_InternalCleanup( libvlc_int_t *p_libvlc )
|
|||
}
|
||||
#endif
|
||||
|
||||
if (priv->parser != NULL)
|
||||
playlist_preparser_Delete(priv->parser);
|
||||
|
||||
vlc_DeinitActions( p_libvlc, priv->actions );
|
||||
|
||||
/* Save the configuration */
|
||||
|
|
Loading…
Reference in New Issue