diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-25 18:51:03 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-25 18:51:03 +0100 |
commit | c4fec93ab9d544a72b189a602103ebed48a9829e (patch) | |
tree | 8866e20dd6550a6b6a32348813950681df71cfe3 /sys | |
parent | ec37e34f0735d04ec912fab2d0b95aa40c72f527 (diff) |
python: add buffer length check in sock_recvfrom_into()
Diffstat (limited to 'sys')
-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 */ |