Peter Hutterer 75e6f92
From c5ff57676698f19ed3a1402aef58a15552e32d27 Mon Sep 17 00:00:00 2001
Peter Hutterer 75e6f92
From: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 75e6f92
Date: Tue, 29 Nov 2022 13:24:00 +1000
Peter Hutterer 75e6f92
Subject: [PATCH xserver 2/7] Xi: return an error from XI property changes if
Peter Hutterer 75e6f92
 verification failed
Peter Hutterer 75e6f92
Peter Hutterer 75e6f92
Both ProcXChangeDeviceProperty and ProcXIChangeProperty checked the
Peter Hutterer 75e6f92
property for validity but didn't actually return the potential error.
Peter Hutterer 75e6f92
Peter Hutterer 75e6f92
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer 75e6f92
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Peter Hutterer 75e6f92
---
Peter Hutterer 75e6f92
 Xi/xiproperty.c | 5 +++++
Peter Hutterer 75e6f92
 1 file changed, 5 insertions(+)
Peter Hutterer 75e6f92
Peter Hutterer 75e6f92
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
Peter Hutterer 75e6f92
index a36f7d61df..68c362c628 100644
Peter Hutterer 75e6f92
--- a/Xi/xiproperty.c
Peter Hutterer 75e6f92
+++ b/Xi/xiproperty.c
Peter Hutterer 75e6f92
@@ -902,6 +902,8 @@ ProcXChangeDeviceProperty(ClientPtr client)
Peter Hutterer 75e6f92
 
Peter Hutterer 75e6f92
     rc = check_change_property(client, stuff->property, stuff->type,
Peter Hutterer 75e6f92
                                stuff->format, stuff->mode, stuff->nUnits);
Peter Hutterer 75e6f92
+    if (rc != Success)
Peter Hutterer 75e6f92
+        return rc;
Peter Hutterer 75e6f92
 
Peter Hutterer 75e6f92
     len = stuff->nUnits;
Peter Hutterer 75e6f92
     if (len > (bytes_to_int32(0xffffffff - sizeof(xChangeDevicePropertyReq))))
Peter Hutterer 75e6f92
@@ -1141,6 +1143,9 @@ ProcXIChangeProperty(ClientPtr client)
Peter Hutterer 75e6f92
 
Peter Hutterer 75e6f92
     rc = check_change_property(client, stuff->property, stuff->type,
Peter Hutterer 75e6f92
                                stuff->format, stuff->mode, stuff->num_items);
Peter Hutterer 75e6f92
+    if (rc != Success)
Peter Hutterer 75e6f92
+        return rc;
Peter Hutterer 75e6f92
+
Peter Hutterer 75e6f92
     len = stuff->num_items;
Peter Hutterer 75e6f92
     if (len > bytes_to_int32(0xffffffff - sizeof(xXIChangePropertyReq)))
Peter Hutterer 75e6f92
         return BadLength;
Peter Hutterer 75e6f92
-- 
Peter Hutterer 75e6f92
2.38.1
Peter Hutterer 75e6f92