From c019023e5c37b6b9f77e040a983fd8ff3ed95f6a Mon Sep 17 00:00:00 2001 From: Craig Small Date: Mon, 19 Oct 2020 22:36:06 +1100 Subject: [PATCH] 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 --- NEWS | 1 + free.c | 2 ++ slabtop.c | 2 ++ uptime.c | 3 +++ 4 files changed, 8 insertions(+) diff --git a/NEWS b/NEWS index 57790af5..b3cda2c3 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,7 @@ procps-ng NEXT * vmstat: Wide mode gives wider proc columns merge #48 * watch: Add environment variable for interval merge #62 * watch: Add no linewrap option issue #182 + * free,uptime,slabtop: complain about extra ops issue #181 procps-ng-3.3.16 ---------------- diff --git a/free.c b/free.c index 6a075041..5fb3d7d3 100644 --- a/free.c +++ b/free.c @@ -342,6 +342,8 @@ int main(int argc, char **argv) default: usage(stderr); } + if (optind != argc) + usage(stderr); if (procps_meminfo_new(&mem_info) < 0) xerrx(EXIT_FAILURE, diff --git a/slabtop.c b/slabtop.c index 9966af1e..64a52da0 100644 --- a/slabtop.c +++ b/slabtop.c @@ -202,6 +202,8 @@ static void parse_opts (int argc, char **argv) usage(stderr); } } + if (optind != argc) + usage(stderr); } static void print_summary (void) diff --git a/uptime.c b/uptime.c index 2fdef849..c5eaa3e7 100644 --- a/uptime.c +++ b/uptime.c @@ -106,6 +106,9 @@ int main(int argc, char **argv) usage(stderr); } + if (optind != argc) + usage(stderr); + if (p) printf("%s\n", procps_uptime_sprint_short()); else