diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c index 47b0f8c47..3a125fe76 100644 --- a/Xi/xibarriers.c +++ b/Xi/xibarriers.c @@ -722,14 +722,14 @@ static void add_master_func(void *res, XID id, void *devid) { struct PointerBarrier *b; struct PointerBarrierClient *barrier; - struct PointerBarrierDevice *pbd; int *deviceid = devid; b = res; barrier = container_of(b, struct PointerBarrierClient, barrier); - - pbd = AllocBarrierDevice(); + struct PointerBarrierDevice *pbd = AllocBarrierDevice(); + if (!pbd) + return; pbd->deviceid = *deviceid; input_lock();