aboutsummaryrefslogtreecommitdiff
path: root/lang/python30/files/patch-objects_bufferobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python30/files/patch-objects_bufferobject.c')
-rw-r--r--lang/python30/files/patch-objects_bufferobject.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lang/python30/files/patch-objects_bufferobject.c b/lang/python30/files/patch-objects_bufferobject.c
new file mode 100644
index 000000000000..16e99568ad9a
--- /dev/null
+++ b/lang/python30/files/patch-objects_bufferobject.c
@@ -0,0 +1,13 @@
+--- Objects/bufferobject.c.orig 2008-02-14 11:26:18.000000000 +0000
++++ Objects/bufferobject.c 2008-08-30 10:16:13.000000000 +0100
+@@ -427,6 +427,10 @@
+ count = 0;
+ if (!get_buf(self, &ptr, &size, ANY_BUFFER))
+ return NULL;
++ if (count > PY_SSIZE_T_MAX / size) {
++ PyErr_SetString(PyExc_MemoryError, "result too large");
++ return NULL;
++ }
+ ob = PyString_FromStringAndSize(NULL, size * count);
+ if ( ob == NULL )
+ return NULL;