Xi: protect against NULL handlers, don't try to dereference.

This commit is contained in:
Peter Hutterer 2008-07-13 18:41:53 +09:30
parent 2bbb12c355
commit e7abe1676a

View File

@ -304,7 +304,8 @@ XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type,
XIPropertyHandlerPtr handler = dev->properties.handlers; XIPropertyHandlerPtr handler = dev->properties.handlers;
while(handler) while(handler)
{ {
if (!handler->SetProperty(dev, prop->propertyName, &new_value)) if (handler->SetProperty &&
!handler->SetProperty(dev, prop->propertyName, &new_value))
{ {
if (new_value.data) if (new_value.data)
xfree (new_value.data); xfree (new_value.data);
@ -373,7 +374,8 @@ XIGetDeviceProperty (DeviceIntPtr dev, Atom property, Bool pending)
XIPropertyHandlerPtr handler = dev->properties.handlers; XIPropertyHandlerPtr handler = dev->properties.handlers;
while(handler) while(handler)
{ {
handler->GetProperty(dev, prop->propertyName); if (handler->GetProperty)
handler->GetProperty(dev, prop->propertyName);
handler = handler->next; handler = handler->next;
} }
} }