mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
merge 3.3 (#20246)
This commit is contained in:
parent
e74f96ded5
commit
c6b37e21f5
4 changed files with 16 additions and 0 deletions
|
@ -4683,6 +4683,14 @@ class BufferIOTest(SocketConnectedTest):
|
||||||
|
|
||||||
_testRecvFromIntoMemoryview = _testRecvFromIntoArray
|
_testRecvFromIntoMemoryview = _testRecvFromIntoArray
|
||||||
|
|
||||||
|
def testRecvFromIntoSmallBuffer(self):
|
||||||
|
# See issue #20246.
|
||||||
|
buf = bytearray(8)
|
||||||
|
self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024)
|
||||||
|
|
||||||
|
def _testRecvFromIntoSmallBuffer(self):
|
||||||
|
self.serv_conn.send(MSG*2048)
|
||||||
|
|
||||||
|
|
||||||
TIPC_STYPE = 2000
|
TIPC_STYPE = 2000
|
||||||
TIPC_LOWER = 200
|
TIPC_LOWER = 200
|
||||||
|
|
|
@ -1218,6 +1218,7 @@ Eric V. Smith
|
||||||
Gregory P. Smith
|
Gregory P. Smith
|
||||||
Mark Smith
|
Mark Smith
|
||||||
Roy Smith
|
Roy Smith
|
||||||
|
Ryan Smith-Roberts
|
||||||
Rafal Smotrzyk
|
Rafal Smotrzyk
|
||||||
Eric Snow
|
Eric Snow
|
||||||
Dirk Soede
|
Dirk Soede
|
||||||
|
|
|
@ -28,6 +28,8 @@ Library
|
||||||
- Issue #20242: Fixed basicConfig() format strings for the alternative
|
- Issue #20242: Fixed basicConfig() format strings for the alternative
|
||||||
formatting styles. Thanks to kespindler for the bug report and patch.
|
formatting styles. Thanks to kespindler for the bug report and patch.
|
||||||
|
|
||||||
|
- Issue #20246: Fix buffer overflow in socket.recvfrom_into.
|
||||||
|
|
||||||
- Issues #20206 and #5803: Fix edge case in email.quoprimime.encode where it
|
- Issues #20206 and #5803: Fix edge case in email.quoprimime.encode where it
|
||||||
truncated lines ending in a character needing encoding but no newline by
|
truncated lines ending in a character needing encoding but no newline by
|
||||||
using a more efficient algorithm that doesn't have the bug.
|
using a more efficient algorithm that doesn't have the bug.
|
||||||
|
|
|
@ -2875,6 +2875,11 @@ sock_recvfrom_into(PySocketSockObject *s, PyObject *args, PyObject* kwds)
|
||||||
if (recvlen == 0) {
|
if (recvlen == 0) {
|
||||||
/* If nbytes was not specified, use the buffer's length */
|
/* If nbytes was not specified, use the buffer's length */
|
||||||
recvlen = buflen;
|
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);
|
readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue