summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2011-04-22 15:51:55 -0700
committerWayne Davison <wayned@samba.org>2011-04-22 15:51:55 -0700
commit3ef38b0d1b5efcd857b9e2f7608f288bd0439785 (patch)
tree3fea448f1fe758b12727d358d263e5c9a224cd81
parent5a1d092ae1f184ab5349728587405bacafcd1aaf (diff)
downloadrsync-3ef38b0d1b5efcd857b9e2f7608f288bd0439785.tar.gz
Avoid adding a slash to path '/'.
-rw-r--r--util.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util.c b/util.c
index a694fdec..2991fd22 100644
--- 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';