aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2025-07-08 13:57:10 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2025-07-08 13:57:10 -0400
commit83f9592c4bc0f8e5a6a8e73ba9e3daa1da107262 (patch)
tree48ebcc0589fc15ebef7062065d16bd29b2b92d44
parent5692c689a7b1da67724fc5c3c9bb3f3f1d7df0c9 (diff)
downloadstasis-83f9592c4bc0f8e5a6a8e73ba9e3daa1da107262.tar.gz
Write error message correctly to the buffer
* If errmsg is NULL, allocate and write string * If errmsg is not NULL, write string
-rw-r--r--src/lib/core/download.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/core/download.c b/src/lib/core/download.c
index c3f8dca..b021860 100644
--- a/src/lib/core/download.c
+++ b/src/lib/core/download.c
@@ -41,10 +41,10 @@ long download(char *url, const char *filename, char **errmsg) {
CURLcode curl_code = curl_easy_perform(c);
SYSDEBUG("curl status code: %d", curl_code);
if (curl_code != CURLE_OK) {
- if (errmsg) {
- strcpy(*errmsg, curl_easy_strerror(curl_code));
+ if (!*errmsg) {
+ *errmsg = strdup(curl_easy_strerror(curl_code));
} else {
- fprintf(stderr, "\nCURL ERROR: %s\n", curl_easy_strerror(curl_code));
+ strncpy(*errmsg, curl_easy_strerror(curl_code), strlen(curl_easy_strerror(curl_code) + 1));
}
goto failed;
}