summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-09-08 06:58:51 (GMT)
committerGitHub <noreply@github.com>2017-09-08 06:58:51 (GMT)
commite3b2b4b8d9e751b49e3550cb83ba39b54fdc377c (patch)
treee3cf5fd257df7ac82e2bd47811720daf22ce0666 /Modules
parent70c2dd306f575e8bc9edb10ced5c7a6a555d1c87 (diff)
downloadcpython-e3b2b4b8d9e751b49e3550cb83ba39b54fdc377c.zip
cpython-e3b2b4b8d9e751b49e3550cb83ba39b54fdc377c.tar.gz
cpython-e3b2b4b8d9e751b49e3550cb83ba39b54fdc377c.tar.bz2
bpo-31393: Fix the use of PyUnicode_READY(). (#3451)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/socketmodule.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 2c2f98d..50a4443 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1467,7 +1467,10 @@ idna_converter(PyObject *obj, struct maybe_idna *data)
len = PyByteArray_Size(obj);
}
else if (PyUnicode_Check(obj)) {
- if (PyUnicode_READY(obj) == 0 && PyUnicode_IS_COMPACT_ASCII(obj)) {
+ if (PyUnicode_READY(obj) == -1) {
+ return 0;
+ }
+ if (PyUnicode_IS_COMPACT_ASCII(obj)) {
data->buf = PyUnicode_DATA(obj);
len = PyUnicode_GET_LENGTH(obj);
}