about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/tools/http_upload.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/tools/http_upload.c b/src/tools/http_upload.c
index 8a1b544d..2169a382 100644
--- a/src/tools/http_upload.c
+++ b/src/tools/http_upload.c
@@ -52,6 +52,7 @@
 #include "config/preferences.h"
 
 #define FALLBACK_MIMETYPE "application/octet-stream"
+#define FALLBACK_CONTENTTYPE_HEADER "Content-Type: application/octet-stream"
 #define FALLBACK_MSG ""
 #define FILE_HEADER_BYTES 512
 
@@ -87,7 +88,7 @@ _xferinfo(void *userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultot
 
     char *msg;
     if (asprintf(&msg, "Uploading '%s': %d%%", upload->filename, ulperc) == -1) {
-        msg = FALLBACK_MSG;
+        msg = strdup(FALLBACK_MSG);
     }
     win_update_entry_message(upload->window, upload->put_url, msg);
     free(msg);
@@ -141,7 +142,7 @@ http_file_put(void *userdata)
     pthread_mutex_lock(&lock);
     char* msg;
     if (asprintf(&msg, "Uploading '%s': 0%%", upload->filename) == -1) {
-        msg = FALLBACK_MSG;
+        msg = strdup(FALLBACK_MSG);
     }
     win_print_with_receipt(upload->window, '!', 0, NULL, 0, THEME_TEXT_ME, NULL, msg, upload->put_url);
     free(msg);
@@ -157,7 +158,7 @@ http_file_put(void *userdata)
 
     struct curl_slist *headers = NULL;
     if (asprintf(&content_type_header, "Content-Type: %s", upload->mime_type) == -1) {
-        msg = FALLBACK_MSG;
+        content_type_header = strdup(FALLBACK_CONTENTTYPE_HEADER);
     }
     headers = curl_slist_append(headers, content_type_header);
     headers = curl_slist_append(headers, "Expect:");
@@ -236,11 +237,11 @@ end:
         char *msg;
         if (upload->cancel) {
             if (asprintf(&msg, "Uploading '%s' failed: Upload was canceled", upload->filename) == -1) {
-                msg = FALLBACK_MSG;
+                msg = strdup(FALLBACK_MSG);
             }
         } else {
             if (asprintf(&msg, "Uploading '%s' failed: %s", upload->filename, err) == -1) {
-                msg = FALLBACK_MSG;
+                msg = strdup(FALLBACK_MSG);
             }
             win_update_entry_message(upload->window, upload->put_url, msg);
         }
@@ -250,7 +251,7 @@ end:
     } else {
         if (!upload->cancel) {
             if (asprintf(&msg, "Uploading '%s': 100%%", upload->filename) == -1) {
-                msg = FALLBACK_MSG;
+                msg = strdup(FALLBACK_MSG);
             }
             win_update_entry_message(upload->window, upload->put_url, msg);
             //win_update_entry_theme(upload->window, upload->put_url, THEME_THEM);