closes bpo-34468: Objects/rangeobject.c: Fix an always-false condition in range_repr() (GH-8880)
Also, propagate the error from PyNumber_AsSsize_t() because we don't care only about OverflowError which is not reported if the second argument is NULL. Reported by Svace static analyzer.
This commit is contained in:
parent
2b824b2538
commit
7ecae3ca0b
|
@ -575,11 +575,11 @@ range_repr(rangeobject *r)
|
|||
Py_ssize_t istep;
|
||||
|
||||
/* Check for special case values for printing. We don't always
|
||||
need the step value. We don't care about errors
|
||||
(it means overflow), so clear the errors. */
|
||||
need the step value. We don't care about overflow. */
|
||||
istep = PyNumber_AsSsize_t(r->step, NULL);
|
||||
if (istep != 1 || (istep == -1 && PyErr_Occurred())) {
|
||||
PyErr_Clear();
|
||||
if (istep == -1 && PyErr_Occurred()) {
|
||||
assert(!PyErr_ExceptionMatches(PyExc_OverflowError));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (istep == 1)
|
||||
|
|
Loading…
Reference in New Issue