]> git.sesse.net Git - vlc/commitdiff
Fix remotely-triggerable memleak
authorRémi Denis-Courmont <rem@videolan.org>
Wed, 8 Jun 2005 16:57:11 +0000 (16:57 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Wed, 8 Jun 2005 16:57:11 +0000 (16:57 +0000)
modules/services_discovery/sap.c

index 2e51df6a5a6d1ec9e3b5c978886058c348326fb5..a6717e4639287ced01317bdfb08f2e6c935c08a3 100644 (file)
@@ -1078,8 +1078,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;
@@ -1125,7 +1132,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;
         }