summaryrefslogtreecommitdiffstats
path: root/lib/curl_path.c
diff options
context:
space:
mode:
authorCurl Upstream <curl-library@lists.haxx.se>2022-12-21 07:00:59 (GMT)
committerBrad King <brad.king@kitware.com>2023-01-27 20:58:30 (GMT)
commitdac458ddbf2b48168779821654a7e69cbd828c14 (patch)
tree8191fa2b92ceb3469c8ac5878b4ded3112f5f16c /lib/curl_path.c
parentec122fff08ab9a8e56fb90126ecedb99c759011b (diff)
downloadCMake-dac458ddbf2b48168779821654a7e69cbd828c14.zip
CMake-dac458ddbf2b48168779821654a7e69cbd828c14.tar.gz
CMake-dac458ddbf2b48168779821654a7e69cbd828c14.tar.bz2
curl 2022-12-21 (c12fb3dd)
Code extracted from: https://github.com/curl/curl.git at commit c12fb3ddaf48e709a7a4deaa55ec485e4df163ee (curl-7_87_0).
Diffstat (limited to 'lib/curl_path.c')
-rw-r--r--lib/curl_path.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/curl_path.c b/lib/curl_path.c
index b55e830..f00e3ee 100644
--- a/lib/curl_path.c
+++ b/lib/curl_path.c
@@ -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);
}
}
@@ -148,15 +152,12 @@ CURLcode Curl_get_pathname(const char **cpp, char **path, char *homedir)
break;
}
if(cp[i] == '\0') { /* End of string */
- /*error("Unterminated quote");*/
goto fail;
}
if(cp[i] == '\\') { /* Escaped characters */
i++;
if(cp[i] != '\'' && cp[i] != '\"' &&
cp[i] != '\\') {
- /*error("Bad escaped character '\\%c'",
- cp[i]);*/
goto fail;
}
}
@@ -164,7 +165,6 @@ CURLcode Curl_get_pathname(const char **cpp, char **path, char *homedir)
}
if(j == 0) {
- /*error("Empty quotes");*/
goto fail;
}
*cpp = cp + i + strspn(cp + i, WHITESPACE);