Avoid adding a slash to path '/'.
authorWayne Davison <wayned@samba.org>
Fri, 22 Apr 2011 22:51:55 +0000 (15:51 -0700)
committerWayne Davison <wayned@samba.org>
Fri, 22 Apr 2011 22:51:55 +0000 (15:51 -0700)
util.c

diff --git a/util.c b/util.c
index a694fdeca4a3decccbb5d04af8a1680b51bc8199..2991fd22e670f674e3dd9ba0d1b21e60e49d5a92 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1024,8 +1024,9 @@ int change_dir(const char *dir, int set_path_only)
                        errno = ENAMETOOLONG;
                        return 0;
                }
-               curr_dir[curr_dir_len] = '/';
-               memcpy(curr_dir + curr_dir_len + 1, dir, len + 1);
+               if (!(curr_dir_len && curr_dir[curr_dir_len-1] == '/'))
+                       curr_dir[curr_dir_len++] = '/';
+               memcpy(curr_dir + curr_dir_len, dir, len + 1);
 
                if (!set_path_only && chdir(curr_dir)) {
                        curr_dir[curr_dir_len] = '\0';