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)