Commit 9e9b2274 authored by Thomas Guillem's avatar Thomas Guillem

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).
parent e08970c1
......@@ -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 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment