mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
Issue #28376: The constructor of range_iterator now checks that step is not 0.
Patch by Oren Milman.
This commit is contained in:
parent
3bd9fde4df
commit
44759bcf13
3 changed files with 43 additions and 3 deletions
|
|
@ -937,12 +937,20 @@ rangeiter_new(PyTypeObject *type, PyObject *args, PyObject *kw)
|
|||
{
|
||||
long start, stop, step;
|
||||
|
||||
if (!_PyArg_NoKeywords("rangeiter()", kw))
|
||||
if (!_PyArg_NoKeywords("range_iterator()", kw)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyArg_ParseTuple(args, "lll;rangeiter() requires 3 int arguments",
|
||||
&start, &stop, &step))
|
||||
if (!PyArg_ParseTuple(args,
|
||||
"lll;range_iterator() requires 3 int arguments",
|
||||
&start, &stop, &step)) {
|
||||
return NULL;
|
||||
}
|
||||
if (step == 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"range_iterator() arg 3 must not be zero");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return fast_range_iter(start, stop, step);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue