diff options
author | Raymond Hettinger <python@rcn.com> | 2004-12-17 14:44:45 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2004-12-17 14:44:45 (GMT) |
commit | fe09fa2ff190b4f6ac0724484085459ad83ba1a9 (patch) | |
tree | 920889b0961d8ad2c2f6ae418d0e77d28f548fc2 /Objects | |
parent | 19c9a85fea5cc34238cc6863d80e30472118a61c (diff) | |
download | cpython-fe09fa2ff190b4f6ac0724484085459ad83ba1a9.zip cpython-fe09fa2ff190b4f6ac0724484085459ad83ba1a9.tar.gz cpython-fe09fa2ff190b4f6ac0724484085459ad83ba1a9.tar.bz2 |
Backport fixes for bugs #1086555 and #1085744.
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/abstract.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c index 377f359..9c1b68b 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -1427,10 +1427,15 @@ PySequence_Tuple(PyObject *v) break; } if (j >= n) { - if (n < 500) - n += 10; - else - n += 100; + int oldn = n; + n += 10; + n += n >> 2; + if (n < oldn) { + /* Check for overflow */ + PyErr_NoMemory(); + Py_DECREF(item); + goto Fail; + } if (_PyTuple_Resize(&result, n) != 0) { Py_DECREF(item); goto Fail; |