diff options
author | Steve Dower <steve.dower@python.org> | 2021-04-21 23:18:20 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-21 23:18:20 (GMT) |
commit | dc516ef8395d15da0ab225eb0dceb2e0581f51ca (patch) | |
tree | 2b0a3af7e37a33786248f0cc81b9175969d1625a | |
parent | cdad2724e6f7426372901cc5dedd8a462ba046a6 (diff) | |
download | cpython-dc516ef8395d15da0ab225eb0dceb2e0581f51ca.zip cpython-dc516ef8395d15da0ab225eb0dceb2e0581f51ca.tar.gz cpython-dc516ef8395d15da0ab225eb0dceb2e0581f51ca.tar.bz2 |
bpo-26227: Fixes decoding of host names on Windows from ANSI instead of UTF-8 (GH-25510)
-rw-r--r-- | Misc/NEWS.d/next/Windows/2021-04-21-23-37-34.bpo-26227.QMY_eA.rst | 2 | ||||
-rw-r--r-- | Modules/socketmodule.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Windows/2021-04-21-23-37-34.bpo-26227.QMY_eA.rst b/Misc/NEWS.d/next/Windows/2021-04-21-23-37-34.bpo-26227.QMY_eA.rst new file mode 100644 index 0000000..d6826fb --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2021-04-21-23-37-34.bpo-26227.QMY_eA.rst @@ -0,0 +1,2 @@ +Fixed decoding of host names in :func:`socket.gethostbyaddr` and +:func:`socket.gethostbyname_ex`. diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 23aab59..79559c0 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -5508,7 +5508,7 @@ sock_decode_hostname(const char *name) #ifdef MS_WINDOWS /* Issue #26227: gethostbyaddr() returns a string encoded * to the ANSI code page */ - return PyUnicode_DecodeFSDefault(name); + return PyUnicode_DecodeMBCS(name, strlen(name), "surrogatepass"); #else /* Decode from UTF-8 */ return PyUnicode_FromString(name); |