SF Patch #871704: Py_SequenceFast can mask errors
(Contributed by Greg Chapman.) Since this only changes the error message, I doubt that it should be backported.
This commit is contained in:
parent
44a98237d8
commit
2fb702966c
|
@ -1496,6 +1496,8 @@ PySequence_List(PyObject *v)
|
||||||
PyObject *
|
PyObject *
|
||||||
PySequence_Fast(PyObject *v, const char *m)
|
PySequence_Fast(PyObject *v, const char *m)
|
||||||
{
|
{
|
||||||
|
PyObject *it;
|
||||||
|
|
||||||
if (v == NULL)
|
if (v == NULL)
|
||||||
return null_error();
|
return null_error();
|
||||||
|
|
||||||
|
@ -1504,9 +1506,15 @@ PySequence_Fast(PyObject *v, const char *m)
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
v = PySequence_Tuple(v);
|
it = PyObject_GetIter(v);
|
||||||
if (v == NULL && PyErr_ExceptionMatches(PyExc_TypeError))
|
if (it == NULL) {
|
||||||
|
if (PyErr_ExceptionMatches(PyExc_TypeError))
|
||||||
return type_error(m);
|
return type_error(m);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
v = PySequence_Tuple(it);
|
||||||
|
Py_DECREF(it);
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue