]> git.sesse.net Git - vlc/commitdiff
* modules/misc/rtsp.c: fixed segfault.
authorGildas Bazin <gbazin@videolan.org>
Wed, 22 Sep 2004 19:32:21 +0000 (19:32 +0000)
committerGildas Bazin <gbazin@videolan.org>
Wed, 22 Sep 2004 19:32:21 +0000 (19:32 +0000)
modules/misc/rtsp.c

index 1d0d21403fff094cf974b33662026dd78fbb12c3..02d089db2ecdad59166a77edc2e40dabecedd85f 100644 (file)
@@ -559,15 +559,14 @@ static rtsp_client_t *RtspClientGet( vod_media_t *p_media, char *psz_session )
 
 static void RtspClientDel( vod_media_t *p_media, rtsp_client_t *p_rtsp )
 {
-    int i;
-
     msg_Dbg( p_media->p_vod, "closing session: %s", p_rtsp->psz_session );
 
     while( p_rtsp->i_es-- )
     {
-        rtsp_client_es_t *p_es = p_rtsp->es[p_rtsp->i_es];
-        TAB_REMOVE( p_rtsp->i_es, p_rtsp->es, p_es );
-        if( p_es[i].psz_ip ) free( p_es[i].psz_ip );
+        if( p_rtsp->es[p_rtsp->i_es]->psz_ip )
+            free( p_rtsp->es[p_rtsp->i_es]->psz_ip );
+        free( p_rtsp->es[p_rtsp->i_es] );
+        if( !p_rtsp->i_es ) free( p_rtsp->es );
     }
 
     TAB_REMOVE( p_media->i_rtsp, p_media->rtsp, p_rtsp );