complain when nbytes > buflen to fix possible buffer overflow (closes #20246)

This commit is contained in:
Benjamin Peterson 2014-01-13 22:59:38 -05:00
parent f60b7df9f8
commit fbf648ebba
4 changed files with 16 additions and 0 deletions

View file

@ -2598,6 +2598,11 @@ sock_recvfrom_into(PySocketSockObject *s, PyObject *args, PyObject* kwds)
if (recvlen == 0) {
/* If nbytes was not specified, use the buffer's length */
recvlen = buflen;
} else if (recvlen > buflen) {
PyBuffer_Release(&pbuf);
PyErr_SetString(PyExc_ValueError,
"nbytes is greater than the length of the buffer");
return NULL;
}
readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);