summaryrefslogtreecommitdiff
path: root/Python/modsupport.c
diff options
context:
space:
mode:
authorAndrew Svetlov <andrew.svetlov@gmail.com>2012-11-01 13:31:12 +0200
committerAndrew Svetlov <andrew.svetlov@gmail.com>2012-11-01 13:31:12 +0200
commitc83af6a2bda3609c435b6ce84f990256c593f3d4 (patch)
tree189c44827c3dba1a46ad12187f3dea03c549798f /Python/modsupport.c
parent7afede10a583e241aea0452c8bc9fe7522509873 (diff)
parent9e9e8c4bbb70e717829906215e42e2c398f28679 (diff)
downloadcpython-c83af6a2bda3609c435b6ce84f990256c593f3d4.tar.gz
Merge issue #16373: Prevent infinite recursion for ABC Set class operations.
Patch by Serhiy Storchaka.
Diffstat (limited to 'Python/modsupport.c')
-rw-r--r--Python/modsupport.c16
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);
}