free,slabtop,uptime: complain about extra ops

free, slabtop and uptime would happily take extra command line
arguments and doing nothing about them. The programs now check
optind after option processing and will give you usage screen
if there is anything extra.

References:
 procps-ng/procps#181
This commit is contained in:
Craig Small 2020-10-19 22:36:06 +11:00
parent e36fe38835
commit c019023e5c
4 changed files with 8 additions and 0 deletions

1
NEWS
View File

@ -18,6 +18,7 @@ procps-ng NEXT
* vmstat: Wide mode gives wider proc columns merge #48 * vmstat: Wide mode gives wider proc columns merge #48
* watch: Add environment variable for interval merge #62 * watch: Add environment variable for interval merge #62
* watch: Add no linewrap option issue #182 * watch: Add no linewrap option issue #182
* free,uptime,slabtop: complain about extra ops issue #181
procps-ng-3.3.16 procps-ng-3.3.16
---------------- ----------------

2
free.c
View File

@ -342,6 +342,8 @@ int main(int argc, char **argv)
default: default:
usage(stderr); usage(stderr);
} }
if (optind != argc)
usage(stderr);
if (procps_meminfo_new(&mem_info) < 0) if (procps_meminfo_new(&mem_info) < 0)
xerrx(EXIT_FAILURE, xerrx(EXIT_FAILURE,

View File

@ -202,6 +202,8 @@ static void parse_opts (int argc, char **argv)
usage(stderr); usage(stderr);
} }
} }
if (optind != argc)
usage(stderr);
} }
static void print_summary (void) static void print_summary (void)

View File

@ -106,6 +106,9 @@ int main(int argc, char **argv)
usage(stderr); usage(stderr);
} }
if (optind != argc)
usage(stderr);
if (p) if (p)
printf("%s\n", procps_uptime_sprint_short()); printf("%s\n", procps_uptime_sprint_short());
else else