summaryrefslogtreecommitdiff
path: root/Xi
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-12-06 12:06:28 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-12-17 15:02:26 +1000
commita1ee26e624e6a7030ecb37a608190cb8e3d1f65b (patch)
tree68a97cd40786fae48ea0d45f0f1915033cb7ceb5 /Xi
parent2884b249294e3e8fc749bbb81e2a897314fa0818 (diff)
barriers: Don't allow releasing the pointer on other client's barriers
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Diffstat (limited to 'Xi')
-rw-r--r--Xi/xibarriers.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c
index 86e811ea1..8f122537a 100644
--- a/Xi/xibarriers.c
+++ b/Xi/xibarriers.c
@@ -591,6 +591,9 @@ ProcXIBarrierReleasePointer(ClientPtr client)
return err;
}
+ if (CLIENT_ID(barrier_id) != client->index)
+ return BadAccess;
+
barrier = container_of(b, struct PointerBarrierClient, barrier);
if (barrier->barrier_event_id == event_id)
barrier->release_event_id = event_id;