cur_path: do not add '/' if homedir ends with one

When using SFTP and a path relative to the user home, do not add a
trailing '/' to the user home dir if it already ends with one.

Closes #9844
This commit is contained in:
Eric Vigeant 2022-11-02 11:47:09 -04:00 committed by Daniel Stenberg
parent 3390ef0af0
commit 6c51adeb71
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -71,10 +71,14 @@ CURLcode Curl_getworkingpath(struct Curl_easy *data,
/* It is referenced to the home directory, so strip the
leading '/' */
memcpy(real_path, homedir, homelen);
real_path[homelen] = '/';
real_path[homelen + 1] = '\0';
/* Only add a trailing '/' if homedir does not end with one */
if(homelen == 0 || real_path[homelen - 1] != '/') {
real_path[homelen] = '/';
homelen++;
real_path[homelen] = '\0';
}
if(working_path_len > 3) {
memcpy(real_path + homelen + 1, working_path + 3,
memcpy(real_path + homelen, working_path + 3,
1 + working_path_len -3);
}
}