From: Pierre Ynard Date: Wed, 27 Jan 2010 23:55:00 +0000 (+0100) Subject: rtp sout: fix race condition in RTSP X-Git-Tag: 1.1.0-ff~811 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=1dc6a868e2fc711565160e0fa5889d1ebda9cf27;p=vlc rtp sout: fix race condition in RTSP When an ES is removed, it is possible to set up a track that won't be cleaned up and will remain dangling, causing a crash later. Make sure we unregister the RTSP URL before cleaning up. --- diff --git a/modules/stream_out/rtsp.c b/modules/stream_out/rtsp.c index 6341f4d3d2..1f58f75e0e 100644 --- a/modules/stream_out/rtsp.c +++ b/modules/stream_out/rtsp.c @@ -244,6 +244,8 @@ rtsp_stream_id_t *RtspAddId( rtsp_stream_t *rtsp, sout_stream_id_t *sid, void RtspDelId( rtsp_stream_t *rtsp, rtsp_stream_id_t *id ) { + httpd_UrlDelete( id->url ); + vlc_mutex_lock( &rtsp->lock ); for( int i = 0; i < rtsp->sessionc; i++ ) { @@ -261,7 +263,6 @@ void RtspDelId( rtsp_stream_t *rtsp, rtsp_stream_id_t *id ) } vlc_mutex_unlock( &rtsp->lock ); - httpd_UrlDelete( id->url ); free( id ); }