diff --git a/Xi/exevents.c b/Xi/exevents.c index 8e93c3e07..6bda32a6f 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1057,6 +1057,9 @@ TouchSendOwnershipEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, int reason, int nev, i; InternalEvent *tel = InitEventList(GetMaximumEventsNum()); + if (!tel) + return; + nev = GetTouchOwnershipEvents(tel, dev, ti, reason, resource, 0); for (i = 0; i < nev; i++) mieqProcessDeviceEvent(dev, tel + i, NULL); diff --git a/Xi/getselev.c b/Xi/getselev.c index 95487cfa1..7f23e1852 100644 --- a/Xi/getselev.c +++ b/Xi/getselev.c @@ -132,6 +132,8 @@ ProcXGetSelectedExtensionEvents(ClientPtr client) sizeof(XEventClass); rep.length = bytes_to_int32(total_length); buf = (XEventClass *) malloc(total_length); + if (!buf) + return BadAlloc; tclient = buf; aclient = buf + rep.this_client_count;