Package: xinput Version: 1.6.0-1 Severity: normal Tags: patch upstream Dear Maintainer,
when calling either xinput disable or xinput enable, the result is a Segmentation Fault. The attached patch shows a short usage information for those subcommands instead. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages xinput depends on: ii libc6 2.13-35 ii libx11-6 2:1.5.0-1 ii libxext6 2:1.3.1-2 ii libxi6 2:1.6.1-1 ii libxinerama1 2:1.1.2-1 ii libxrandr2 2:1.3.2-2 xinput recommends no packages. xinput suggests no packages. -- no debconf information
>From 0a86b052433dafd58c539b845640ac2e34c7053d Mon Sep 17 00:00:00 2001 From: Timo Paulssen <timona...@perpetuum-immobile.de> Date: Tue, 4 Sep 2012 02:39:44 +0200 Subject: [PATCH] don't segfault on dis/enable without argument. --- src/property.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/property.c b/src/property.c index 14e4308..0f4f7e1 100644 --- a/src/property.c +++ b/src/property.c @@ -827,12 +827,20 @@ int set_prop(Display *display, int argc, char *argv[], char *name, int disable(Display *display, int argc, char *argv[], char *name, char *desc) { + if (argc < 1) { + fprintf(stderr, "Usage: xinput %s %s\n", name, desc); + return EXIT_FAILURE; + } char *new_argv[3] = { argv[0], "Device Enabled", "0" }; return set_prop(display, 3, new_argv, name, desc); } int enable(Display *display, int argc, char *argv[], char *name, char *desc) { + if (argc < 1) { + fprintf(stderr, "Usage: xinput %s %s\n", name, desc); + return EXIT_FAILURE; + } char *new_argv[3] = { argv[0], "Device Enabled", "1" }; return set_prop(display, 3, new_argv, name, desc); } -- 1.7.10.4