aboutsummaryrefslogtreecommitdiff
path: root/lang/python30/files/patch-objects_bufferobject.c
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2008-09-08 00:14:06 +0000
committerMartin Wilke <miwi@FreeBSD.org>2008-09-08 00:14:06 +0000
commit8a1ff65b9b4abb36af6477b5c168037be07d4f71 (patch)
treeb9ac213a94e3a8e1c94343b9c5297f42639bc33e /lang/python30/files/patch-objects_bufferobject.c
parent07d5244e8b5f934bc45867d9c55e8e55d26af59e (diff)
Notes
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;