summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-02-25 18:51:03 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-02-25 18:51:03 +0100
commitc4fec93ab9d544a72b189a602103ebed48a9829e (patch)
tree8866e20dd6550a6b6a32348813950681df71cfe3 /sys
parentec37e34f0735d04ec912fab2d0b95aa40c72f527 (diff)
python: add buffer length check in sock_recvfrom_into()
Diffstat (limited to 'sys')
-rw-r--r--sys/src/cmd/python/Modules/socketmodule.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Modules/socketmodule.c b/sys/src/cmd/python/Modules/socketmodule.c
index 892ee7b16..79d927bda 100644
--- a/sys/src/cmd/python/Modules/socketmodule.c
+++ b/sys/src/cmd/python/Modules/socketmodule.c
@@ -2547,6 +2547,12 @@ sock_recvfrom_into(PySocketSockObject *s, PyObject *args, PyObject* kwds)
recvlen = buflen;
}
+ if (buflen < recvlen) {
+ PyErr_SetString(PyExc_ValueError,
+ "buffer too small for requested bytes");
+ return NULL;
+ }
+
readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
if (readlen < 0) {
/* Return an error */