summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */