diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-11-01 20:15:23 +0100 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-11-01 20:15:23 +0100 |
commit | bb42f1ed9aeb4d9708fa57501bd208c8b5db2229 (patch) | |
tree | 3a8b6bf5dc17986078b94c5b7b9ab05cb2851076 /Python/modsupport.c | |
parent | 397dfac64f36bf0f9abf8f7969abf46925dda753 (diff) | |
parent | 99884cde16e365202fd4c9c591b90a5ae8008b36 (diff) | |
download | cpython-bb42f1ed9aeb4d9708fa57501bd208c8b5db2229.tar.gz |
Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Patch by Serhiy Storchaka.
Diffstat (limited to 'Python/modsupport.c')
-rw-r--r-- | Python/modsupport.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/Python/modsupport.c b/Python/modsupport.c index 85b0d66358..428914f378 100644 --- a/Python/modsupport.c +++ b/Python/modsupport.c @@ -148,15 +148,6 @@ do_mklist(const char **p_format, va_list *p_va, int endchar, int n, int flags) return v; } -static int -_ustrlen(Py_UNICODE *u) -{ - int i = 0; - Py_UNICODE *v = u; - while (*v != 0) { i++; v++; } - return i; -} - static PyObject * do_mktuple(const char **p_format, va_list *p_va, int endchar, int n, int flags) { @@ -269,7 +260,7 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) } else { if (n < 0) - n = _ustrlen(u); + n = Py_UNICODE_strlen(u); v = PyUnicode_FromUnicode(u, n); } return v; @@ -292,11 +283,6 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags) case 'C': { int i = va_arg(*p_va, int); - if (i < 0 || i > PyUnicode_GetMax()) { - PyErr_SetString(PyExc_OverflowError, - "%c arg not in range(0x110000)"); - return NULL; - } return PyUnicode_FromOrdinal(i); } |