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 /Python | |
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 'Python')
-rw-r--r-- | Python/bltinmodule.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 60d1b7c..1d78045 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -2442,13 +2442,14 @@ zip_new(PyTypeObject *type, PyObject *args, PyObject *kwds) Py_ssize_t i; PyObject *ittuple; /* tuple of iterators */ PyObject *result; - Py_ssize_t tuplesize = PySequence_Length(args); + Py_ssize_t tuplesize; if (type == &PyZip_Type && !_PyArg_NoKeywords("zip()", kwds)) return NULL; /* args must be a tuple */ assert(PyTuple_Check(args)); + tuplesize = PyTuple_GET_SIZE(args); /* obtain iterators */ ittuple = PyTuple_New(tuplesize); |