]> git.sesse.net Git - vlc/commitdiff
SAP: NULL dereference on error path
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 23 Apr 2014 16:56:21 +0000 (19:56 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 23 Apr 2014 16:56:21 +0000 (19:56 +0300)
modules/services_discovery/sap.c

index 29933fddce013fd36f70b4298c3f92eb50672da4..430d234494fc9d91b3325e15dfdc02da7e3bb5fe 100644 (file)
@@ -856,15 +856,19 @@ sap_announce_t *CreateAnnounce( services_discovery_t *p_sd, uint32_t *i_source,
     p_input = input_item_NewWithType( p_sap->p_sdp->psz_uri,
                                       p_sdp->psz_sessionname,
                                       0, NULL, 0, -1, ITEM_TYPE_NET );
-    vlc_meta_t *p_meta = vlc_meta_New();
-    vlc_meta_Set( p_meta, vlc_meta_Description, p_sdp->psz_sessioninfo );
-    p_input->p_meta = p_meta;
-    p_sap->p_item = p_input;
-    if( !p_input )
+    if( unlikely(p_input == NULL) )
     {
         free( p_sap );
         return NULL;
     }
+    p_sap->p_item = p_input;
+
+    vlc_meta_t *p_meta = vlc_meta_New();
+    if( likely(p_meta != NULL) )
+    {
+        vlc_meta_Set( p_meta, vlc_meta_Description, p_sdp->psz_sessioninfo );
+        p_input->p_meta = p_meta;
+    }
 
     if( p_sdp->rtcp_port )
     {