diff options
| -rw-r--r-- | sys/src/cmd/python/Modules/socketmodule.c | 6 |
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 */ |
