From 4e9d93b2b1c92542db957eec71161f94f9ccb643 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Wed, 5 Jul 2023 11:16:57 +0300 Subject: [PATCH] pikvm/pikvm#1049: VNC: Fixed memory leak when client doesn't send framebuffer request --- kvmd/apps/vnc/server.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kvmd/apps/vnc/server.py b/kvmd/apps/vnc/server.py index f1203519..c7d943d2 100644 --- a/kvmd/apps/vnc/server.py +++ b/kvmd/apps/vnc/server.py @@ -238,6 +238,8 @@ class _Client(RfbClient): # pylint: disable=too-many-instance-attributes async def __queue_frame(self, frame: (dict | str)) -> None: if isinstance(frame, str): frame = await self.__make_text_frame(frame) + if self.__fb_queue.qsize() > 10: + self.__fb_queue.get_nowait() self.__fb_queue.put_nowait(frame) async def __make_text_frame(self, text: str) -> dict: