diff options
Diffstat (limited to 'src/tool_operhlp.c')
-rw-r--r-- | src/tool_operhlp.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c index 02039413c..f11d65a94 100644 --- a/src/tool_operhlp.c +++ b/src/tool_operhlp.c @@ -209,14 +209,17 @@ CURLcode get_url_file_name(char **filename, const char *url) return CURLE_OUT_OF_MEMORY; #if defined(MSDOS) || defined(WIN32) - { - char *sanitized; - SANITIZEcode sc = sanitize_file_name(&sanitized, *filename, 0); - Curl_safefree(*filename); - if(sc) - return CURLE_URL_MALFORMAT; - *filename = sanitized; - } + { + char *sanitized; + SANITIZEcode sc = sanitize_file_name(&sanitized, *filename, 0); + Curl_safefree(*filename); + if(sc) { + if(sc == SANITIZE_ERR_OUT_OF_MEMORY) + return CURLE_OUT_OF_MEMORY; + return CURLE_URL_MALFORMAT; + } + *filename = sanitized; + } #endif /* MSDOS || WIN32 */ /* in case we built debug enabled, we allow an environment variable |