BYTE eventHeader;
int sec_bytes;
+ /*
+ * A maximum of 15 events are allowed per request
+ * if the optional numEvents field isn't used
+ * see MS-RDPBCGR 2.2.8.1.2 for details
+ */
+ if (iNumEvents > 15)
+ return FALSE;
+
rdp = fastpath->rdp;
length = Stream_GetPosition(s);
}
eventHeader = FASTPATH_INPUT_ACTION_FASTPATH;
- eventHeader |= (1 << 2); /* numberEvents */
+ eventHeader |= (iNumEvents << 2); /* numberEvents */
if (rdp->sec_flags & SEC_ENCRYPT)
eventHeader |= (FASTPATH_INPUT_ENCRYPTED << 6);