BOOL input_recv(rdpInput* input, wStream* s) { UINT16 i, numberEvents; if (!input || !s) return FALSE; if (Stream_GetRemainingLength(s) < 4) return FALSE; Stream_Read_UINT16(s, numberEvents); /* numberEvents (2 bytes) */ Stream_Seek(s, 2); /* pad2Octets (2 bytes) */ /* Each input event uses 6 exactly bytes. */ if (Stream_GetRemainingLength(s) < (size_t) (6 * numberEvents)) return FALSE; for (i = 0; i < numberEvents; i++) { if (!input_recv_event(input, s)) return FALSE; } return TRUE; }
boolean input_recv(rdpInput* input, STREAM* s) { uint16 i, numberEvents; if (stream_get_left(s) < 4) return false; stream_read_uint16(s, numberEvents); /* numberEvents (2 bytes) */ stream_seek(s, 2); /* pad2Octets (2 bytes) */ /* Each input event uses 6 exactly bytes. */ if (stream_get_left(s) < 6 * numberEvents) return false; for (i = 0; i < numberEvents; i++) { if (!input_recv_event(input, s)) return false; } return true; }
BOOL input_recv(rdpInput* input, STREAM* s) { UINT16 i, numberEvents; if (stream_get_left(s) < 4) return FALSE; stream_read_UINT16(s, numberEvents); /* numberEvents (2 bytes) */ stream_seek(s, 2); /* pad2Octets (2 bytes) */ /* Each input event uses 6 exactly bytes. */ if (stream_get_left(s) < 6 * numberEvents) return FALSE; for (i = 0; i < numberEvents; i++) { if (!input_recv_event(input, s)) return FALSE; } return TRUE; }