summaryrefslogtreecommitdiffstats
path: root/Modules/itertoolsmodule.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-04-19 17:03:52 (GMT)
committerGitHub <noreply@github.com>2017-04-19 17:03:52 (GMT)
commitbf623ae8843dc30b28c574bec8d29fc14be59d86 (patch)
tree0a7ab5b441e0306767bfbc6da4522e4af34ab9e6 /Modules/itertoolsmodule.c
parentc209b70d610da50a844a3c10f37d6183bade3446 (diff)
downloadcpython-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.c3
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);