]> git.sesse.net Git - vlc/commitdiff
Avoid duplicate memory allocation
authorRémi Denis-Courmont <rem@videolan.org>
Tue, 28 Nov 2006 20:27:33 +0000 (20:27 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Tue, 28 Nov 2006 20:27:33 +0000 (20:27 +0000)
modules/access/directory.c

index 07f966f7d19e161faf74cea37029a2b632bc5e9e..e3ee777f909e80630b9ca394c384195066e7181e 100644 (file)
@@ -393,9 +393,8 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
     {
         const char *entry = pp_dir_content[i];
         int i_size_entry = strlen( psz_name ) +
-                           strlen( entry ) + 2;
+                           strlen( entry ) + 2 + 7 /* strlen("file://") */;
         char psz_uri[i_size_entry];
-        char psz_mrl[i_size_entry + 7]; /* "file://psz_uri" */
 
         sprintf( psz_uri, "%s/%s", psz_name, entry);
 
@@ -472,9 +471,10 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
                     }
                 }
 
-                sprintf( &psz_mrl, "file://%s", psz_uri );
+                memmove (psz_uri + 7, psz_uri, sizeof (psz_uri) - 7);
+                memcpy (psz_uri, "file://", 7);
                 p_input = input_ItemNewWithType( VLC_OBJECT(p_playlist),
-                                                 psz_mrl, entry, 0, NULL,
+                                                 psz_uri, entry, 0, NULL,
                                                  -1, ITEM_TYPE_VFILE );
                 if (p_input != NULL)
                 {