diff options
Diffstat (limited to 'lang/python30/files/patch-objects_bufferobject.c')
-rw-r--r-- | lang/python30/files/patch-objects_bufferobject.c | 13 |
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; |