diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-04-19 17:03:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-19 17:03:52 (GMT) |
commit | bf623ae8843dc30b28c574bec8d29fc14be59d86 (patch) | |
tree | 0a7ab5b441e0306767bfbc6da4522e4af34ab9e6 /Modules/itertoolsmodule.c | |
parent | c209b70d610da50a844a3c10f37d6183bade3446 (diff) | |
download | cpython-bf623ae8843dc30b28c574bec8d29fc14be59d86.zip cpython-bf623ae8843dc30b28c574bec8d29fc14be59d86.tar.gz cpython-bf623ae8843dc30b28c574bec8d29fc14be59d86.tar.bz2 |
bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096)
raised an error.
Replace them with using concrete types API that never fails if appropriate.
Diffstat (limited to 'Modules/itertoolsmodule.c')
-rw-r--r-- | Modules/itertoolsmodule.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c index 9823c77..fac5b29 100644 --- a/Modules/itertoolsmodule.c +++ b/Modules/itertoolsmodule.c @@ -4325,7 +4325,7 @@ zip_longest_new(PyTypeObject *type, PyObject *args, PyObject *kwds) PyObject *ittuple; /* tuple of iterators */ PyObject *result; PyObject *fillvalue = Py_None; - Py_ssize_t tuplesize = PySequence_Length(args); + Py_ssize_t tuplesize; if (kwds != NULL && PyDict_CheckExact(kwds) && PyDict_GET_SIZE(kwds) > 0) { fillvalue = PyDict_GetItemString(kwds, "fillvalue"); @@ -4338,6 +4338,7 @@ zip_longest_new(PyTypeObject *type, PyObject *args, PyObject *kwds) /* args must be a tuple */ assert(PyTuple_Check(args)); + tuplesize = PyTuple_GET_SIZE(args); /* obtain iterators */ ittuple = PyTuple_New(tuplesize); |