tool_urlglob: fix propagating OOM error from sanitize_file_name()

Make sure to convert a low-level OOM error code a libcurl one, to make
the curl tool to display an accurate error code and messages. On Windows
and MS-DOS.

Improving:
```
$ CURL_FN_SANITIZE_OOM=1 wine curl.exe https://curl.se/ --output out.txt
[...]
curl: (3) URL using bad/illegal format or missing URL
```
to:
```
[...]
curl: (27) Out of memory
```

Cherry-picked from #20116
Closes #20198
This commit is contained in:
Viktor Szakats 2026-01-06 19:34:53 +01:00
parent e2d61a6b30
commit 40c1748af5
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201

View file

@ -704,8 +704,11 @@ CURLcode glob_match_url(char **output, const char *filename,
(SANITIZE_ALLOW_PATH |
SANITIZE_ALLOW_RESERVED));
curlx_dyn_free(&dyn);
if(sc)
if(sc) {
if(sc == SANITIZE_ERR_OUT_OF_MEMORY)
return CURLE_OUT_OF_MEMORY;
return CURLE_URL_MALFORMAT;
}
*output = sanitized;
return CURLE_OK;
}