diff options
author | DarioDaF <dario.fagotto@gmail.com> | 2022-12-10 23:07:02 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-10 23:07:02 (GMT) |
commit | 1bb68ba6d9de6bb7f00aee11d135123163f15887 (patch) | |
tree | 1be51c00ff9587e32cd497b2948506b65f7cbf4b /Lib/asyncio/proactor_events.py | |
parent | d5f8a2b6ad408368e728a389da918cead3ef7ee9 (diff) | |
download | cpython-1bb68ba6d9de6bb7f00aee11d135123163f15887.zip cpython-1bb68ba6d9de6bb7f00aee11d135123163f15887.tar.gz cpython-1bb68ba6d9de6bb7f00aee11d135123163f15887.tar.bz2 |
gh-99941: Ensure that asyncio.Protocol.data_received receives immutable bytes (#100053)
Diffstat (limited to 'Lib/asyncio/proactor_events.py')
-rw-r--r-- | Lib/asyncio/proactor_events.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index c6aab40..1e2a730 100644 --- a/Lib/asyncio/proactor_events.py +++ b/Lib/asyncio/proactor_events.py @@ -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() |