Commit 5c86733c authored by Victor Stinner's avatar Victor Stinner

Issue #18294: Fix uint_converter() in zlibmodule.c, fix the "> UINT_MAX" check

parent fbc78518
......@@ -329,11 +329,6 @@ uint_converter(PyObject *obj, void *ptr)
uval = PyLong_AsUnsignedLong(obj);
if (uval == (unsigned long)-1 && PyErr_Occurred())
return 0;
if (uval > UINT_MAX) {
PyErr_SetString(PyExc_OverflowError,
"Python int too large for C unsigned int");
return 0;
}
}
else {
if (val < 0) {
......@@ -344,6 +339,12 @@ uint_converter(PyObject *obj, void *ptr)
uval = (unsigned long)val;
}
if (uval > UINT_MAX) {
PyErr_SetString(PyExc_OverflowError,
"Python int too large for C unsigned int");
return 0;
}
*(unsigned int *)ptr = Py_SAFE_DOWNCAST(uval, unsigned long, unsigned int);
return 1;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment