]> git.sesse.net Git - vlc/commitdiff
port previous commits
authorRémi Denis-Courmont <rem@videolan.org>
Wed, 8 Jun 2005 16:59:27 +0000 (16:59 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Wed, 8 Jun 2005 16:59:27 +0000 (16:59 +0000)
modules/services_discovery/sap.c

index f671119be7d27f96528585ae5d0c66f536cc32f0..5e920c946959282f2f030bac82574c9693168b26 100644 (file)
@@ -508,13 +508,13 @@ static void CloseDemux( vlc_object_t *p_this )
 
 static void Run( services_discovery_t *p_sd )
 {
-    int                i;
+    int i;
 
     /* read SAP packets */
     while( !p_sd->b_die )
     {
         int i_read;
-       uint8_t p_buffer[MAX_SAP_BUFFER];
+        uint8_t p_buffer[MAX_SAP_BUFFER];
 
         i_read = net_Select( p_sd, p_sd->p_sys->pi_fd, NULL,
                              p_sd->p_sys->i_fd, p_buffer,
@@ -1071,8 +1071,15 @@ static sdp_t *  ParseSDP( vlc_object_t *p_obj, char* psz_sdp )
     }
 
     p_sdp = (sdp_t *)malloc( sizeof( sdp_t ) );
+    if( p_sdp == NULL )
+        return NULL;
 
     p_sdp->psz_sdp = strdup( psz_sdp );
+    if( p_sdp->psz_sdp == NULL )
+    {
+        free( p_sdp );
+        return NULL;
+    }
 
     p_sdp->psz_sessionname = NULL;
     p_sdp->psz_media       = NULL;
@@ -1118,7 +1125,7 @@ static sdp_t *  ParseSDP( vlc_object_t *p_obj, char* psz_sdp )
         if( psz_sdp[1] != '=' )
         {
             msg_Warn( p_obj, "invalid packet" ) ;
-            /* MEMLEAK ! */
+            FreeSDP( p_sdp );
             return NULL;
         }