]> git.sesse.net Git - vlc/commitdiff
udp: memory leak
authorRémi Denis-Courmont <remi@remlab.net>
Fri, 14 Nov 2014 17:24:05 +0000 (19:24 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Fri, 14 Nov 2014 17:24:05 +0000 (19:24 +0200)
modules/access/udp.c

index 5a4168f2898758dbd35323630e93dd97f36ee009..76f68a2992f49c7adde42e8db74797b540e99eeb 100644 (file)
@@ -90,12 +90,6 @@ static void* ThreadRead( void *data );
 static int Open( vlc_object_t *p_this )
 {
     access_t     *p_access = (access_t*)p_this;
-
-    char *psz_name = strdup( p_access->psz_location );
-    char *psz_parser;
-    const char *psz_server_addr, *psz_bind_addr = "";
-    int  i_bind_port = 1234, i_server_port = 0;
-
     access_sys_t *sys = malloc( sizeof( *sys ) );
     if( unlikely( sys == NULL ) )
         return VLC_ENOMEM;
@@ -106,6 +100,14 @@ static int Open( vlc_object_t *p_this )
     access_InitFields( p_access );
     ACCESS_SET_CALLBACKS( NULL, BlockUDP, Control, NULL );
 
+    char *psz_name = strdup( p_access->psz_location );
+    char *psz_parser;
+    const char *psz_server_addr, *psz_bind_addr = "";
+    int  i_bind_port = 1234, i_server_port = 0;
+
+    if( unlikely(psz_name == NULL) )
+        goto error;
+
     /* Parse psz_name syntax :
      * [serveraddr[:serverport]][@[bindaddr]:[bindport]] */
     psz_parser = strchr( psz_name, '@' );