aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/devices.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/dix/devices.c')
-rw-r--r--xorg-server/dix/devices.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c
index d8e7f9c40..1f8dabddd 100644
--- a/xorg-server/dix/devices.c
+++ b/xorg-server/dix/devices.c
@@ -177,6 +177,9 @@ DeviceSetProperty(DeviceIntPtr dev, Atom property, XIPropertyValuePtr prop,
if (!isfinite(f[i]))
return BadValue;
+ if (!dev->valuator)
+ return BadMatch;
+
if (!checkonly)
DeviceSetTransform(dev, f);
}
@@ -1469,8 +1472,8 @@ InitStringFeedbackClassDeviceStruct(DeviceIntPtr dev,
feedc->ctrl.num_symbols_displayed = 0;
feedc->ctrl.max_symbols = max_symbols;
feedc->ctrl.symbols_supported =
- malloc(sizeof(KeySym) * num_symbols_supported);
- feedc->ctrl.symbols_displayed = malloc(sizeof(KeySym) * max_symbols);
+ xallocarray(num_symbols_supported, sizeof(KeySym));
+ feedc->ctrl.symbols_displayed = xallocarray(max_symbols, sizeof(KeySym));
if (!feedc->ctrl.symbols_supported || !feedc->ctrl.symbols_displayed) {
free(feedc->ctrl.symbols_supported);
free(feedc->ctrl.symbols_displayed);