mirror of https://github.com/python/cpython
Fix null pointer dereferencing in structmember.c PyMember_SetOne() for T_CHAR. _PyUnicode_AsStringAndSize() can return NULL without touching the len argument. Also remove unnecessary PyUnicode_Check(), _PyUnicode_AsStringAndSize() performance the test again. CID 486815
This commit is contained in:
commit
e9a6d62d9f
|
@ -254,12 +254,8 @@ PyMember_SetOne(char *addr, PyMemberDef *l, PyObject *v)
|
|||
char *string;
|
||||
Py_ssize_t len;
|
||||
|
||||
if (!PyUnicode_Check(v)) {
|
||||
PyErr_BadArgument();
|
||||
return -1;
|
||||
}
|
||||
string = _PyUnicode_AsStringAndSize(v, &len);
|
||||
if (len != 1) {
|
||||
if (string == NULL || len != 1) {
|
||||
PyErr_BadArgument();
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue