From 31fb35a7afc782e857bf60e524e7d966dbcd2551 Mon Sep 17 00:00:00 2001 From: Demi Marie Obenour Date: Tue, 20 Jul 2021 22:58:42 -0400 Subject: [PATCH] XFixes: add version check for byteswapped clients The version check for byteswapped clients was missing. --- xfixes/xfixes.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xfixes/xfixes.c b/xfixes/xfixes.c index 3ba7314a7..ecb6f298f 100644 --- a/xfixes/xfixes.c +++ b/xfixes/xfixes.c @@ -215,7 +215,11 @@ static _X_COLD int SProcXFixesDispatch(ClientPtr client) { REQUEST(xXFixesReq); - if (stuff->xfixesReqType >= XFixesNumberRequests) + XFixesClientPtr pXFixesClient = GetXFixesClient(client); + + if (pXFixesClient->major_version >= ARRAY_SIZE(version_requests)) + return BadRequest; + if (stuff->xfixesReqType > version_requests[pXFixesClient->major_version]) return BadRequest; return (*SProcXFixesVector[stuff->xfixesReqType]) (client); }