BUG/MEDIUM: fix segfault when no argument to -x option

This patch fixes a segfault in the command line parser.

When haproxy is launched with -x with no argument and -x is the latest
option in argv it segfaults.

Use usage() insteads of exit() on error.
This commit is contained in:
William Lallemand 2017-06-19 15:57:55 +02:00 committed by Willy Tarreau
parent 4a5be934f1
commit 45eff44e28

View File

@ -1279,9 +1279,9 @@ static void init(int argc, char **argv)
else if (*flag == 'q')
arg_mode |= MODE_QUIET;
else if (*flag == 'x') {
if (argv[1][0] == '-') {
Alert("Unix socket path expected with the -x flag\n");
exit(1);
if (argc <= 1 || argv[1][0] == '-') {
Alert("Unix socket path expected with the -x flag\n\n");
usage(progname);
}
old_unixsocket = argv[1];
argv++;