From c4fec93ab9d544a72b189a602103ebed48a9829e Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 25 Feb 2014 18:51:03 +0100 Subject: python: add buffer length check in sock_recvfrom_into() --- sys/src/cmd/python/Modules/socketmodule.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/src/cmd/python/Modules') 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 */ -- cgit v1.2.3