diff options
author | Julien Cristau <jcristau@debian.org> | 2011-03-07 18:55:19 +0100 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-03-09 07:59:41 +1000 |
commit | eb8141b6edd8b477c0ba796be71e985c35520a9b (patch) | |
tree | 4a736e0939ab14d2616ba8535fc0084adeeb3806 /Xi | |
parent | 4114533db6704324fc26f28a444415e325ace8e0 (diff) |
Xi: fix length checks for swapped clients
ChangeDeviceProperty and XIChangeProperty are followed by some data, so
use REQUEST_AT_LEAST_SIZE instead of REQUEST_SIZE_MATCH.
X.Org bug#35082 <https://bugs.freedesktop.org/show_bug.cgi?id=35082>
Reported-by: Markus Fleschutz <markus.fleschutz@x-software.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'Xi')
-rw-r--r-- | Xi/xiproperty.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c index 17835e2cd..83ce93014 100644 --- a/Xi/xiproperty.c +++ b/Xi/xiproperty.c @@ -1051,11 +1051,11 @@ SProcXChangeDeviceProperty (ClientPtr client) char n; REQUEST(xChangeDevicePropertyReq); + REQUEST_AT_LEAST_SIZE(xChangeDevicePropertyReq); swaps(&stuff->length, n); swapl(&stuff->property, n); swapl(&stuff->type, n); swapl(&stuff->nUnits, n); - REQUEST_SIZE_MATCH(xChangeDevicePropertyReq); return (ProcXChangeDeviceProperty(client)); } @@ -1295,12 +1295,12 @@ SProcXIChangeProperty(ClientPtr client) char n; REQUEST(xXIChangePropertyReq); + REQUEST_AT_LEAST_SIZE(xXIChangePropertyReq); swaps(&stuff->length, n); swaps(&stuff->deviceid, n); swapl(&stuff->property, n); swapl(&stuff->type, n); swapl(&stuff->num_items, n); - REQUEST_SIZE_MATCH(xXIChangePropertyReq); return (ProcXIChangeProperty(client)); } |