diff options
author | speidy <speidy@gmail.com> | 2014-03-10 02:52:08 +0200 |
---|---|---|
committer | speidy <speidy@gmail.com> | 2014-03-10 02:52:08 +0200 |
commit | 0a225729c70fb761f07c3cac08b8cc00a74de4c5 (patch) | |
tree | 804e6b7c7533612926e4a6a3ce7e74807fec9638 /libxrdp/xrdp_fastpath.c | |
parent | 6e85223a8a0eb6fb12a3623f016e9d1888c4d32a (diff) | |
download | xrdp-proprietary-0a225729c70fb761f07c3cac08b8cc00a74de4c5.tar.gz xrdp-proprietary-0a225729c70fb761f07c3cac08b8cc00a74de4c5.zip |
libxrdp: fastpath input, validate eventFlags
Diffstat (limited to 'libxrdp/xrdp_fastpath.c')
-rw-r--r-- | libxrdp/xrdp_fastpath.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libxrdp/xrdp_fastpath.c b/libxrdp/xrdp_fastpath.c index 27877ef1..9ba171f0 100644 --- a/libxrdp/xrdp_fastpath.c +++ b/libxrdp/xrdp_fastpath.c @@ -169,6 +169,11 @@ xrdp_fastpath_process_EVENT_MOUSE(struct xrdp_fastpath *self, int eventFlags, int xPos; int yPos; + /* eventFlags MUST be zeroed out */ + if (eventFlags != 0) { + return 1; + } + if (!s_check_rem(s, 2 + 2 + 2)) { return 1; @@ -201,6 +206,11 @@ xrdp_fastpath_process_EVENT_MOUSEX(struct xrdp_fastpath *self, int xPos; int yPos; + /* eventFlags MUST be zeroed out */ + if (eventFlags != 0) { + return 1; + } + if (!s_check_rem(s, 2 + 2 + 2)) { return 1; |