diff --git a/dix/eventconvert.c b/dix/eventconvert.c index a7f43efe6..6abd86836 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -685,6 +685,8 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi) len += vallen * 4; /* valuators mask */ *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xde = (xXIDeviceEvent *) * xi; xde->type = GenericEvent; xde->extension = IReqCode; @@ -753,6 +755,8 @@ eventToTouchOwnershipEvent(TouchOwnershipEvent *ev, xEvent **xi) xXITouchOwnershipEvent *xtoe; *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xtoe = (xXITouchOwnershipEvent *) * xi; xtoe->type = GenericEvent; xtoe->extension = IReqCode; @@ -783,6 +787,8 @@ eventToRawEvent(RawDeviceEvent *ev, xEvent **xi) len += vallen * 4; /* valuators mask */ *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; raw = (xXIRawEvent *) * xi; raw->type = GenericEvent; raw->extension = IReqCode; @@ -818,6 +824,8 @@ eventToBarrierEvent(BarrierEvent *ev, xEvent **xi) int len = sizeof(xXIBarrierEvent); *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; barrier = (xXIBarrierEvent*) *xi; barrier->type = GenericEvent; barrier->extension = IReqCode; @@ -847,6 +855,8 @@ eventToGesturePinchEvent(GestureEvent *ev, xEvent **xi) xXIGesturePinchEvent *xpe; *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xpe = (xXIGesturePinchEvent *) * xi; xpe->type = GenericEvent; xpe->extension = IReqCode; @@ -889,6 +899,8 @@ eventToGestureSwipeEvent(GestureEvent *ev, xEvent **xi) xXIGestureSwipeEvent *xde; *xi = calloc(1, len); + if (*xi == NULL) + return BadAlloc; xde = (xXIGestureSwipeEvent *) * xi; xde->type = GenericEvent; xde->extension = IReqCode;