From 66a84320142128ed3bba8e6be6cd604e3fcbf0f0 Mon Sep 17 00:00:00 2001 From: Vladimir Chebotarev Date: Sun, 13 Jul 2025 15:31:49 +0300 Subject: [PATCH] Removed infinite loop in `parser.rdp.virtual_channel.clipboard`. --- pyrdp/parser/rdp/virtual_channel/clipboard.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyrdp/parser/rdp/virtual_channel/clipboard.py b/pyrdp/parser/rdp/virtual_channel/clipboard.py index 4904531b..1a22c157 100644 --- a/pyrdp/parser/rdp/virtual_channel/clipboard.py +++ b/pyrdp/parser/rdp/virtual_channel/clipboard.py @@ -105,6 +105,8 @@ def parseFormatList(self, payload, msgFlags): while lastChar != b"\x00\x00": lastChar = stream.read(2) + if len(lastChar) < 2: + raise ValueError("Format name is not null-terminated") formatName += lastChar self.formats[formatId] = LongFormatName(formatId, formatName)