summaryrefslogtreecommitdiffstats
path: root/libxrdp/xrdp_caps.c
diff options
context:
space:
mode:
Diffstat (limited to 'libxrdp/xrdp_caps.c')
-rw-r--r--libxrdp/xrdp_caps.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libxrdp/xrdp_caps.c b/libxrdp/xrdp_caps.c
index 300704c6..8a57c003 100644
--- a/libxrdp/xrdp_caps.c
+++ b/libxrdp/xrdp_caps.c
@@ -550,6 +550,11 @@ xrdp_caps_process_confirm_active(struct xrdp_rdp *self, struct stream *s)
in_uint16_le(s, num_caps);
in_uint8s(s, 2); /* pad */
+ if ((cap_len < 0) || (cap_len > 1024 * 1024))
+ {
+ return 1;
+ }
+
for (index = 0; index < num_caps; index++)
{
p = s->p;