From 1bb68ba6d9de6bb7f00aee11d135123163f15887 Mon Sep 17 00:00:00 2001 From: DarioDaF Date: Sun, 11 Dec 2022 00:07:02 +0100 Subject: gh-99941: Ensure that asyncio.Protocol.data_received receives immutable bytes (#100053) --- Lib/asyncio/proactor_events.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Lib/asyncio/proactor_events.py') diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index c6aab408fc7..1e2a730cf36 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() -- cgit v1.2.3