diff options
Diffstat (limited to 'libxrdp/xrdp_caps.c')
| -rw-r--r-- | libxrdp/xrdp_caps.c | 5 |
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; |
