diff --git a/pyrdp/parser/rdp/virtual_channel/dynamic_channel.py b/pyrdp/parser/rdp/virtual_channel/dynamic_channel.py index 11d95595..96586184 100644 --- a/pyrdp/parser/rdp/virtual_channel/dynamic_channel.py +++ b/pyrdp/parser/rdp/virtual_channel/dynamic_channel.py @@ -33,6 +33,8 @@ def doParse(self, data: bytes) -> PDU: channelName = "" char = stream.read(1).decode() while char != "\x00": + if len(char) == 0: + raise ValueError("Channel name is not null-terminated") channelName += char char = stream.read(1).decode() return CreateRequestPDU(cbid, sp, channelId, channelName)