blob: 37e786bd3a5a0d33f85d953dcd7123e09f934157 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 */
|