diff options
author | Dan Fandrich <dan@coneharvesters.com> | 2023-02-06 10:40:59 -0800 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2023-02-07 08:20:19 +0100 |
commit | df3722a46c678b5c54b3df1154c1d109ad4cb6e5 (patch) | |
tree | 1bcb1cc0539070dc9cdfc6a7831248622ba22871 /src | |
parent | 349c5391f2121ee0338dcf5a61dafde7bc83be57 (diff) | |
download | curl-df3722a46c678b5c54b3df1154c1d109ad4cb6e5.tar.gz |
tool_operate: Fix error codes during DOS filename sanitize
It would return CURLE_URL_MALFORMAT in an OOM condition.
Closes #10414
Diffstat (limited to 'src')
-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 |