summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-11-25 14:51:50 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-11-26 16:34:57 +1000
commit904a32d908219d6fea833576f7c31727bd3aea2f (patch)
tree280be205d4a0054ca70d44680438230d0adc302d
parent68e488725a95508378d8a24a9da609a7e80e2ef7 (diff)
Fix crash for enable/disable without a device argument
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--src/property.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/property.c b/src/property.c
index 66a3842..bf04eeb 100644
--- a/src/property.c
+++ b/src/property.c
@@ -832,12 +832,28 @@ int set_prop(Display *display, int argc, char *argv[], char *name,
int disable(Display *display, int argc, char *argv[], char *name, char *desc)
{
- char *new_argv[3] = { argv[0], "Device Enabled", "0" };
+ char *new_argv[3] = { NULL, "Device Enabled", "0" };
+
+ if (argc != 1) {
+ fprintf(stderr, "Usage: xinput %s %s\n", name, desc);
+ return EXIT_FAILURE;
+ }
+
+ new_argv[0] = argv[0];
+
return set_prop(display, 3, new_argv, name, desc);
}
int enable(Display *display, int argc, char *argv[], char *name, char *desc)
{
- char *new_argv[3] = { argv[0], "Device Enabled", "1" };
+ char *new_argv[3] = { NULL, "Device Enabled", "1" };
+
+ if (argc != 1) {
+ fprintf(stderr, "Usage: xinput %s %s\n", name, desc);
+ return EXIT_FAILURE;
+ }
+
+ new_argv[0] = argv[0];
+
return set_prop(display, 3, new_argv, name, desc);
}