From: Todd C. Miller Date: Fri, 6 Feb 2015 16:17:39 +0000 (-0700) Subject: Bail with usage() early if argc <= 0. X-Git-Tag: SUDO_1_8_12^2~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0008747bef14c6fea67320839156bba77b1d5b6c;p=sudo Bail with usage() early if argc <= 0. --- diff --git a/src/parse_args.c b/src/parse_args.c index 0681c5b48..49438da8b 100644 --- a/src/parse_args.c +++ b/src/parse_args.c @@ -180,6 +180,10 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, int env_size = 32; debug_decl(parse_args, SUDO_DEBUG_ARGS) + /* Is someone trying something funny? */ + if (argc <= 0) + usage(1); + env_add = sudo_emallocarray(env_size, sizeof(char *)); /* Pass progname to plugin so it can call initprogname() */ @@ -379,10 +383,8 @@ parse_args(int argc, char **argv, int *nargc, char ***nargv, } env_add[nenv] = NULL; - if (argc > 0) { - argc -= optind; - argv += optind; - } + argc -= optind; + argv += optind; if (!mode) { /* Defer -k mode setting until we know whether it is a flag or not */