diff options
author | Wayne Davison <wayned@samba.org> | 2011-04-22 15:51:55 -0700 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2011-04-22 15:51:55 -0700 |
commit | 3ef38b0d1b5efcd857b9e2f7608f288bd0439785 (patch) | |
tree | 3fea448f1fe758b12727d358d263e5c9a224cd81 | |
parent | 5a1d092ae1f184ab5349728587405bacafcd1aaf (diff) | |
download | rsync-3ef38b0d1b5efcd857b9e2f7608f288bd0439785.tar.gz |
Avoid adding a slash to path '/'.
-rw-r--r-- | util.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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'; |