From 1dc6a868e2fc711565160e0fa5889d1ebda9cf27 Mon Sep 17 00:00:00 2001 From: Pierre Ynard Date: Thu, 28 Jan 2010 00:55:00 +0100 Subject: [PATCH] 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. --- modules/stream_out/rtsp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 ); } -- 2.39.2