From ddfa2a1a4034bf231a6189791e01bb5e24d81b43 Mon Sep 17 00:00:00 2001 From: Vladimir Chebotarev Date: Sat, 12 Jul 2025 23:05:23 +0300 Subject: [PATCH] Removed infinite loop in `parser.rdp.virtual_channel.dynamic_channel`. --- pyrdp/parser/rdp/virtual_channel/dynamic_channel.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyrdp/parser/rdp/virtual_channel/dynamic_channel.py b/pyrdp/parser/rdp/virtual_channel/dynamic_channel.py index 11d955951..965861843 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)