summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/python/files/python-2.7.6-recvfrom_into_buffer_overflow.patch')
-rw-r--r--dev-lang/python/files/python-2.7.6-recvfrom_into_buffer_overflow.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/dev-lang/python/files/python-2.7.6-recvfrom_into_buffer_overflow.patch b/dev-lang/python/files/python-2.7.6-recvfrom_into_buffer_overflow.patch
new file mode 100644
index 000000000000..37e786bd3a5a
--- /dev/null
+++ b/dev-lang/python/files/python-2.7.6-recvfrom_into_buffer_overflow.patch
@@ -0,0 +1,17 @@
+diff -r 40fb60df4755 Modules/socketmodule.c
+--- a/Modules/socketmodule.c Sun Jan 12 12:11:47 2014 +0200
++++ b/Modules/socketmodule.c Mon Jan 13 16:36:35 2014 -0800
+@@ -2744,6 +2744,13 @@
+ recvlen = buflen;
+ }
+
++ /* Check if the buffer is large enough */
++ if (buflen < recvlen) {
++ PyErr_SetString(PyExc_ValueError,
++ "buffer too small for requested bytes");
++ goto error;
++ }
++
+ readlen = sock_recvfrom_guts(s, buf.buf, recvlen, flags, &addr);
+ if (readlen < 0) {
+ /* Return an error */