diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2021-02-13 00:51:28 -0500 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2021-02-20 14:39:39 -0500 |
commit | 09363500b9e161670b6bd084cc57bff75d32fc02 (patch) | |
tree | bcf93fa61086156f9754977360438c783981f37a /lib/curl_multibyte.c | |
parent | f65d7889b5c8eeefbb9f41c7588199be18b38a20 (diff) | |
download | curl-09363500b9e161670b6bd084cc57bff75d32fc02.tar.gz |
curl_multibyte: always return a heap-allocated copy of string
- Change the Windows char <-> UTF-8 conversion functions to return an
allocated copy of the passed in string instead of the original.
Prior to this change the curlx_convert_ functions would, as what I
assume was an optimization, not make a copy of the passed in string if
no conversion was required. No conversion is required in non-UNICODE
Windows builds since our tchar strings are type char and remain in
whatever the passed in encoding is, which is assumed to be UTF-8 but may
be other encoding.
In contrast the UNICODE Windows builds require conversion
(wchar <-> char) and do return a copy. That inconsistency could lead to
programming errors where the developer expects a copy, and does not
realize that won't happen in all cases.
Closes https://github.com/curl/curl/pull/6602
Diffstat (limited to 'lib/curl_multibyte.c')
-rw-r--r-- | lib/curl_multibyte.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/curl_multibyte.c b/lib/curl_multibyte.c index 39b2c587c..a7ae47d7e 100644 --- a/lib/curl_multibyte.c +++ b/lib/curl_multibyte.c @@ -21,7 +21,11 @@ ***************************************************************************/ /* - * This file is 'mem-include-scan' clean. See test 1132. + * This file is 'mem-include-scan' clean, which means memdebug.h and + * curl_memory.h are purposely not included in this file. See test 1132. + * + * The functions in this file are curlx functions which are not tracked by the + * curl memory tracker memdebug. */ #include "curl_setup.h" |