summaryrefslogtreecommitdiff
path: root/Xi
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-11-23 13:07:56 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-11-25 15:26:11 +1000
commitb8904935bbd26e9d34587f03810318d94cb771f6 (patch)
treeda09b9699dc0221772dd1080c10713724dbaa095 /Xi
parenta5308ceb127bf390cbe6fef3ba1e33e78f222ba1 (diff)
Xi: don't crash when deleting invalid device properties.
Deleting a property that was not set on a device leads to a null-pointer reference. The protocol allows deleting those properties - it has to be a noop. Reproducible: xinput --set-prop "My device" --type=int --format=8 "my property" 1 xinput --delete-prop "My other device" "my property" Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit a30e739a144912a68adcaa9f426d600c6ecbd529)
Diffstat (limited to 'Xi')
-rw-r--r--Xi/xiproperty.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index 024dc444b..482185703 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -643,6 +643,9 @@ XIDeleteDeviceProperty (DeviceIntPtr device, Atom property, Bool fromClient)
if (prop->propertyName == property)
break;
+ if (!prop)
+ return Success;
+
if (fromClient && !prop->deletable)
return BadAccess;