From: Dan Fandrich Date: Mon, 6 Feb 2023 18:40:59 +0000 (-0800) Subject: tool_operate: Fix error codes during DOS filename sanitize X-Git-Tag: curl-7_88_0~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df3722a46c678b5c54b3df1154c1d109ad4cb6e5;p=thirdparty%2Fcurl.git tool_operate: Fix error codes during DOS filename sanitize It would return CURLE_URL_MALFORMAT in an OOM condition. Closes #10414 --- diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c index 02039413ca..f11d65a94a 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