Kaydet (Commit) 0d8a859a authored tarafından Brett Cannon's avatar Brett Cannon

Pull a NULL pointer check up to cover more cases in the function.

Found using Clang's static analyzer.
üst a7f13ee3
...@@ -1833,11 +1833,13 @@ PyNumber_ToBase(PyObject *n, int base) ...@@ -1833,11 +1833,13 @@ PyNumber_ToBase(PyObject *n, int base)
int int
PySequence_Check(PyObject *s) PySequence_Check(PyObject *s)
{ {
if (s && PyInstance_Check(s)) if (s == NULL)
return 0;
if (PyInstance_Check(s))
return PyObject_HasAttrString(s, "__getitem__"); return PyObject_HasAttrString(s, "__getitem__");
if (PyDict_Check(s)) if (PyDict_Check(s))
return 0; return 0;
return s != NULL && s->ob_type->tp_as_sequence && return s->ob_type->tp_as_sequence &&
s->ob_type->tp_as_sequence->sq_item != NULL; s->ob_type->tp_as_sequence->sq_item != NULL;
} }
......
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