gh-99941: Ensure that asyncio.Protocol.data_received receives immutable bytes (#100053)

This commit is contained in:
DarioDaF 2022-12-11 00:07:02 +01:00 committed by GitHub
parent d5f8a2b6ad
commit 1bb68ba6d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 4 deletions

View file

@ -688,7 +688,7 @@ class StreamReader:
await self._wait_for_data('read')
# This will work right even if buffer is less than n bytes
data = bytes(self._buffer[:n])
data = bytes(memoryview(self._buffer)[:n])
del self._buffer[:n]
self._maybe_resume_transport()
@ -730,7 +730,7 @@ class StreamReader:
data = bytes(self._buffer)
self._buffer.clear()
else:
data = bytes(self._buffer[:n])
data = bytes(memoryview(self._buffer)[:n])
del self._buffer[:n]
self._maybe_resume_transport()
return data