From 9e07324255e778e395b7d11b015ea1cdd8579ff1 Mon Sep 17 00:00:00 2001 From: "akim.demaille" Date: Fri, 9 Jan 2009 08:54:50 +0000 Subject: "distcc --scan-includes" dumps core. * src/distcc.c (main): Don't dump --help on the user on command line error, rather, return the `Try --help' message on stderr. Check that --scan-includes is given arguments. git-svn-id: http://distcc.googlecode.com/svn/trunk@645 01de4be4-8c4a-0410-9132-4925637da917 --- src/distcc.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/distcc.c b/src/distcc.c index 6d90f36..4c22fba 100644 --- a/src/distcc.c +++ b/src/distcc.c @@ -221,11 +221,21 @@ int main(int argc, char **argv) if (strstr(compiler_name, "distcc") != NULL) { /* Either "distcc -c hello.c" or "distcc gcc -c hello.c" */ - if (argc <= 1 || !strcmp(argv[1], "--help")) { + if (argc <= 1) { + fprintf (stderr, + "%s: missing option/operand\n" + "Try `%s --help' for more information.\n", + argv[0], argv[0]); + ret = EXIT_BAD_ARGUMENTS; + goto out; + } + + if (!strcmp(argv[1], "--help")) { dcc_show_usage(); ret = 0; goto out; } + if (!strcmp(argv[1], "--version")) { dcc_show_version("distcc"); ret = 0; @@ -245,6 +255,14 @@ int main(int argc, char **argv) } if (!strcmp(argv[1], "--scan-includes")) { + if (argc <= 2) { + fprintf (stderr, + "%s: missing operand\n" + "Try `%s --help' for more information.\n", + argv[0], argv[0]); + ret = EXIT_BAD_ARGUMENTS; + goto out; + } dcc_scan_includes = 1; argv++; } -- cgit v1.2.1