aboutsummaryrefslogtreecommitdiff
path: root/lang/python26/files/patch-objects_tupleobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python26/files/patch-objects_tupleobject.c')
-rw-r--r--lang/python26/files/patch-objects_tupleobject.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/lang/python26/files/patch-objects_tupleobject.c b/lang/python26/files/patch-objects_tupleobject.c
new file mode 100644
index 000000000000..eb133b6e002c
--- /dev/null
+++ b/lang/python26/files/patch-objects_tupleobject.c
@@ -0,0 +1,17 @@
+--- Objects/tupleobject.c.orig 2006-08-12 18:03:09.000000000 +0100
++++ Objects/tupleobject.c 2008-08-30 10:16:13.000000000 +0100
+@@ -60,11 +60,12 @@
+ Py_ssize_t nbytes = size * sizeof(PyObject *);
+ /* Check for overflow */
+ if (nbytes / sizeof(PyObject *) != (size_t)size ||
+- (nbytes += sizeof(PyTupleObject) - sizeof(PyObject *))
+- <= 0)
++ (nbytes > PY_SSIZE_T_MAX - sizeof(PyTupleObject) - sizeof(PyObject *)))
+ {
+ return PyErr_NoMemory();
+ }
++ nbytes += sizeof(PyTupleObject) - sizeof(PyObject *);
++
+ op = PyObject_GC_NewVar(PyTupleObject, &PyTuple_Type, size);
+ if (op == NULL)
+ return NULL;