Leak --: ecore_file_dir_get always returns a new buffer.
authorillogict <illogict@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 9 Dec 2008 18:28:45 +0000 (18:28 +0000)
committerillogict <illogict@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 9 Dec 2008 18:28:45 +0000 (18:28 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@38068 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_file/ecore_file.c

index 1c9bcb6..a04ddc5 100644 (file)
@@ -317,12 +317,14 @@ ecore_file_mv(const char *src, const char *dst)
             stat(src, &st);
             if (S_ISREG(st.st_mode))
               {
+                 const char *dir;
+                 dir = ecore_file_dir_get(dst);
                  // Since we can't directly rename, try to 
                  // copy to temp file in the dst directory
                  // and then rename.
                  snprintf(buf, sizeof(buf), "%s/.%s.tmp.XXXXXX", 
-                          ecore_file_dir_get(dst),
-                          ecore_file_file_get(dst));
+                          dir, ecore_file_file_get(dst));
+                 free(dir);
                  fd = mkstemp(buf);
                  if (fd < 0)
                    {