xkb: don't call atoi(NULL) when parsing argv

If the -ardelay or -arinterval options have no argument, there's no
point trying to read it.

See
http://www.forallsecure.com/bug-reports/feb3db57fc206d8df22ca53a6907f74973876272/

Reported-by: Alexandre Rebert <alexandre@cmu.edu>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Julien Cristau 2013-07-01 19:39:30 +02:00 committed by Peter Hutterer
parent 77e51d5bbb
commit a2d6932ad4

View File

@ -759,13 +759,15 @@ XkbProcessArguments(int argc, char *argv[], int i)
if ((strcmp(argv[i], "-ardelay") == 0) || (strcmp(argv[i], "-ar1") == 0)) { /* -ardelay int */
if (++i >= argc)
UseMsg();
XkbDfltRepeatDelay = (long) atoi(argv[i]);
else
XkbDfltRepeatDelay = (long) atoi(argv[i]);
return 2;
}
if ((strcmp(argv[i], "-arinterval") == 0) || (strcmp(argv[i], "-ar2") == 0)) { /* -arinterval int */
if (++i >= argc)
UseMsg();
XkbDfltRepeatInterval = (long) atoi(argv[i]);
else
XkbDfltRepeatInterval = (long) atoi(argv[i]);
return 2;
}
return 0;