mirror of
https://github.com/python/cpython.git
synced 2025-08-22 01:35:16 +00:00
Backport 54594:
Fix SF #1688393, sock.recvfrom(-24) crashes Also fix some method names that were copied incorrectly (trunk fixed).
This commit is contained in:
parent
ef9e09e737
commit
65407fb734
3 changed files with 21 additions and 5 deletions
|
@ -2356,14 +2356,14 @@ sock_recv_into(PySocketSockObject *s, PyObject *args, PyObject *kwds)
|
|||
int buflen;
|
||||
|
||||
/* Get the buffer's memory */
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "w#|ii:recv", kwlist,
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "w#|ii:recv_into", kwlist,
|
||||
&buf, &buflen, &recvlen, &flags))
|
||||
return NULL;
|
||||
assert(buf != 0 && buflen > 0);
|
||||
|
||||
if (recvlen < 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"negative buffersize in recv");
|
||||
"negative buffersize in recv_into");
|
||||
return NULL;
|
||||
}
|
||||
if (recvlen == 0) {
|
||||
|
@ -2479,6 +2479,12 @@ sock_recvfrom(PySocketSockObject *s, PyObject *args)
|
|||
if (!PyArg_ParseTuple(args, "i|i:recvfrom", &recvlen, &flags))
|
||||
return NULL;
|
||||
|
||||
if (recvlen < 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"negative buffersize in recvfrom");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
buf = PyString_FromStringAndSize((char *) 0, recvlen);
|
||||
if (buf == NULL)
|
||||
return NULL;
|
||||
|
@ -2525,14 +2531,15 @@ sock_recvfrom_into(PySocketSockObject *s, PyObject *args, PyObject* kwds)
|
|||
|
||||
PyObject *addr = NULL;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "w#|ii:recvfrom", kwlist,
|
||||
&buf, &buflen, &recvlen, &flags))
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwds, "w#|ii:recvfrom_into",
|
||||
kwlist, &buf, &buflen,
|
||||
&recvlen, &flags))
|
||||
return NULL;
|
||||
assert(buf != 0 && buflen > 0);
|
||||
|
||||
if (recvlen < 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"negative buffersize in recv");
|
||||
"negative buffersize in recvfrom_into");
|
||||
return NULL;
|
||||
}
|
||||
if (recvlen == 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue