]> git.sesse.net Git - vlc/commitdiff
fix two memleaks and remove a bogus net_Close()
authorRémi Denis-Courmont <rem@videolan.org>
Mon, 7 Feb 2005 22:34:21 +0000 (22:34 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Mon, 7 Feb 2005 22:34:21 +0000 (22:34 +0000)
include/stream_output.h
src/stream_output/announce.c
src/stream_output/sap.c

index 0923d282f611e63aa8ba80d479b7dd92dae325b7..2c8db90c0489c34161ae63d44cdcad45b5d78c15 100644 (file)
@@ -260,8 +260,8 @@ struct announce_method_t
 
     /* For SAP */
     int i_ip_version;
-    char *psz_ipv6_scope;
     char *psz_address; /* If we use a custom address */
+    char sz_ipv6_scope;
 };
 
 
index 333d5783b1f3d3438059a2c1d5d3a7ec8974f62c..ecfd4bd812d18d01420202332a974d170c33dd79 100644 (file)
@@ -184,7 +184,7 @@ void sout_AnnounceSessionDestroy( session_descriptor_t *p_session )
         FREE( p_session->psz_group );
         FREE( p_session->psz_uri );
         FREE( p_session->psz_sdp );
-        FREE( p_session );
+        free( p_session );
     }
 }
 
@@ -208,7 +208,7 @@ announce_method_t * sout_AnnounceMethodCreate( int i_type )
             /* Default values */
             p_method->psz_address = NULL;
             p_method->i_ip_version = 4 ;
-            p_method->psz_ipv6_scope = strdup("8");
+            p_method->sz_ipv6_scope = '\0';
         }
     }
     return p_method;
index c12ddc574b85ef881f277c155046b7353c48b15a..2d2f88ad00af9ac34e097f5a4e1ef87664cec971 100644 (file)
@@ -248,9 +248,9 @@ static int announce_SAPAnnounceAdd( sap_handler_t *p_sap,
         if( p_method->i_ip_version == 6 )
         {
             char sz_scope;
-            if( p_method->psz_ipv6_scope != NULL )
+            if( p_method->sz_ipv6_scope )
             {
-                sz_scope = *p_method->psz_ipv6_scope;
+                sz_scope = p_method->sz_ipv6_scope;
             }
             else
             {
@@ -318,6 +318,7 @@ static int announce_SAPAnnounceAdd( sap_handler_t *p_sap,
             p_address->b_enabled = VLC_TRUE;
             p_address->b_ready = VLC_TRUE;
             p_address->i_interval = config_GetInt( p_sap,"sap-interval");
+            p_address->i_rfd = -1;
         }
 
         if( p_address->i_wfd == -1 || (p_address->i_rfd == -1
@@ -435,6 +436,10 @@ static int announce_SAPAnnounceDel( sap_handler_t *p_sap,
             REMOVE_ELEM( p_sap->pp_sessions,
                          p_sap->i_sessions,
                          i );
+
+            FREE( p_session->p_sap->psz_sdp );
+            FREE( p_session->p_sap->psz_data );
+            free( p_session->p_sap );
             break;
         }
     }