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

@ -288,7 +288,8 @@ class _ProactorReadPipeTransport(_ProactorBasePipeTransport,
# we got end-of-file so no need to reschedule a new read
return
data = self._data[:length]
# It's a new slice so make it immutable so protocols upstream don't have problems
data = bytes(memoryview(self._data)[:length])
else:
# the future will be replaced by next proactor.recv call
fut.cancel()