* [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind
@ 2024-05-22 14:43 Anubhav Shelat
2024-05-22 14:43 ` [PATCH v2 2/2] rt-tests: hackbench: properly recognize when integer arguments are negative Anubhav Shelat
2024-05-22 17:17 ` [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind John Kacur
0 siblings, 2 replies; 4+ messages in thread
From: Anubhav Shelat @ 2024-05-22 14:43 UTC (permalink / raw)
To: linux-rt-users; +Cc: jkacur, kcarcia, Anubhav Shelat
Currently, using the -s option displays the usage message, even if the
option is properly used.
This is because Commit 778a02b7c519 ("rt-tests: hackbench: drop incorrect
and unnecessary usage of optind") forgot to drop a use of optind when
processing option 's' which was fixed in this commit.
Now the -s option works correctly with the proper arguments.
Note: The next commit in this patchset fixes "ERROR: do not use
assignment in if condition" on line 459.
Signed-off-by: Anubhav Shelat <ashelat@redhat.com>
---
src/hackbench/hackbench.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hackbench/hackbench.c b/src/hackbench/hackbench.c
index d4924b3cc129..fec8357bef81 100644
--- a/src/hackbench/hackbench.c
+++ b/src/hackbench/hackbench.c
@@ -456,7 +456,7 @@ static void process_options(int argc, char *argv[])
use_inet = 1;
break;
case 's':
- if (!(argv[optind] && (datasize = atoi(optarg)) > 0)) {
+ if ((datasize = atoi(optarg)) <= 0) {
fprintf(stderr, "%s: --datasize|-s requires an integer > 0\n", argv[0]);
print_usage_exit(1);
}
--
2.45.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v2 2/2] rt-tests: hackbench: properly recognize when integer arguments are negative 2024-05-22 14:43 [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind Anubhav Shelat @ 2024-05-22 14:43 ` Anubhav Shelat 2024-05-22 17:17 ` John Kacur 2024-05-22 17:17 ` [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind John Kacur 1 sibling, 1 reply; 4+ messages in thread From: Anubhav Shelat @ 2024-05-22 14:43 UTC (permalink / raw) To: linux-rt-users; +Cc: jkacur, kcarcia, Anubhav Shelat hackbench is supposed to catch when the user passes negative arguments to options -f, -g, -l, and -s. Previously hackbench would allow options to accept negative arguments, resulting in undefined behavior. Now process_options() assigns variables outside of the if considiton where they are used. hackbench will output a usage message if the user inputs a negative argument. Signed-off-by: Anubhav Shelat <ashelat@redhat.com> --- src/hackbench/hackbench.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/hackbench/hackbench.c b/src/hackbench/hackbench.c index fec8357bef81..55be325a38df 100644 --- a/src/hackbench/hackbench.c +++ b/src/hackbench/hackbench.c @@ -426,7 +426,8 @@ static void process_options(int argc, char *argv[]) } switch (c) { case 'f': - if ((num_fds = atoi(optarg)) <= 0) { + num_fds = atoi(optarg); + if (atoi(optarg) <= 0) { fprintf(stderr, "%s: --fds|-f requires an integer > 0\n", argv[0]); print_usage_exit(1); } @@ -435,7 +436,8 @@ static void process_options(int argc, char *argv[]) fifo = 1; break; case 'g': - if ((num_groups = atoi(optarg)) <= 0) { + num_groups = atoi(optarg); + if (atoi(optarg) <= 0) { fprintf(stderr, "%s: --groups|-g requires an integer > 0\n", argv[0]); print_usage_exit(1); } @@ -444,7 +446,8 @@ static void process_options(int argc, char *argv[]) print_usage_exit(0); break; case 'l': - if ((loops = atoi(optarg)) <= 0) { + loops = atoi(optarg); + if (atoi(optarg) <= 0) { fprintf(stderr, "%s: --loops|-l requires an integer > 0\n", argv[0]); print_usage_exit(1); } @@ -456,7 +459,8 @@ static void process_options(int argc, char *argv[]) use_inet = 1; break; case 's': - if ((datasize = atoi(optarg)) <= 0) { + datasize = atoi(optarg); + if (atoi(optarg) <= 0) { fprintf(stderr, "%s: --datasize|-s requires an integer > 0\n", argv[0]); print_usage_exit(1); } -- 2.45.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] rt-tests: hackbench: properly recognize when integer arguments are negative 2024-05-22 14:43 ` [PATCH v2 2/2] rt-tests: hackbench: properly recognize when integer arguments are negative Anubhav Shelat @ 2024-05-22 17:17 ` John Kacur 0 siblings, 0 replies; 4+ messages in thread From: John Kacur @ 2024-05-22 17:17 UTC (permalink / raw) To: Anubhav Shelat; +Cc: linux-rt-users, kcarcia On Wed, 22 May 2024, Anubhav Shelat wrote: > hackbench is supposed to catch when the user passes > negative arguments to options -f, -g, -l, and -s. > > Previously hackbench would allow options to accept > negative arguments, resulting in undefined behavior. > > Now process_options() assigns variables outside of > the if considiton where they are used. hackbench will > output a usage message if the user inputs a negative > argument. > > Signed-off-by: Anubhav Shelat <ashelat@redhat.com> > --- > src/hackbench/hackbench.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/src/hackbench/hackbench.c b/src/hackbench/hackbench.c > index fec8357bef81..55be325a38df 100644 > --- a/src/hackbench/hackbench.c > +++ b/src/hackbench/hackbench.c > @@ -426,7 +426,8 @@ static void process_options(int argc, char *argv[]) > } > switch (c) { > case 'f': > - if ((num_fds = atoi(optarg)) <= 0) { > + num_fds = atoi(optarg); > + if (atoi(optarg) <= 0) { > fprintf(stderr, "%s: --fds|-f requires an integer > 0\n", argv[0]); > print_usage_exit(1); > } > @@ -435,7 +436,8 @@ static void process_options(int argc, char *argv[]) > fifo = 1; > break; > case 'g': > - if ((num_groups = atoi(optarg)) <= 0) { > + num_groups = atoi(optarg); > + if (atoi(optarg) <= 0) { > fprintf(stderr, "%s: --groups|-g requires an integer > 0\n", argv[0]); > print_usage_exit(1); > } > @@ -444,7 +446,8 @@ static void process_options(int argc, char *argv[]) > print_usage_exit(0); > break; > case 'l': > - if ((loops = atoi(optarg)) <= 0) { > + loops = atoi(optarg); > + if (atoi(optarg) <= 0) { > fprintf(stderr, "%s: --loops|-l requires an integer > 0\n", argv[0]); > print_usage_exit(1); > } > @@ -456,7 +459,8 @@ static void process_options(int argc, char *argv[]) > use_inet = 1; > break; > case 's': > - if ((datasize = atoi(optarg)) <= 0) { > + datasize = atoi(optarg); > + if (atoi(optarg) <= 0) { > fprintf(stderr, "%s: --datasize|-s requires an integer > 0\n", argv[0]); > print_usage_exit(1); > } > -- Signed-off-by: John Kacur <jkacur@redhat.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind 2024-05-22 14:43 [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind Anubhav Shelat 2024-05-22 14:43 ` [PATCH v2 2/2] rt-tests: hackbench: properly recognize when integer arguments are negative Anubhav Shelat @ 2024-05-22 17:17 ` John Kacur 1 sibling, 0 replies; 4+ messages in thread From: John Kacur @ 2024-05-22 17:17 UTC (permalink / raw) To: Anubhav Shelat; +Cc: linux-rt-users, kcarcia On Wed, 22 May 2024, Anubhav Shelat wrote: > Currently, using the -s option displays the usage message, even if the > option is properly used. > > This is because Commit 778a02b7c519 ("rt-tests: hackbench: drop incorrect > and unnecessary usage of optind") forgot to drop a use of optind when > processing option 's' which was fixed in this commit. > > Now the -s option works correctly with the proper arguments. > > Note: The next commit in this patchset fixes "ERROR: do not use > assignment in if condition" on line 459. > > Signed-off-by: Anubhav Shelat <ashelat@redhat.com> > --- > src/hackbench/hackbench.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/hackbench/hackbench.c b/src/hackbench/hackbench.c > index d4924b3cc129..fec8357bef81 100644 > --- a/src/hackbench/hackbench.c > +++ b/src/hackbench/hackbench.c > @@ -456,7 +456,7 @@ static void process_options(int argc, char *argv[]) > use_inet = 1; > break; > case 's': > - if (!(argv[optind] && (datasize = atoi(optarg)) > 0)) { > + if ((datasize = atoi(optarg)) <= 0) { > fprintf(stderr, "%s: --datasize|-s requires an integer > 0\n", argv[0]); > print_usage_exit(1); > } > -- Signed-off-by: John Kacur <jkacur@redhat.com> ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-05-22 17:18 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-05-22 14:43 [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind Anubhav Shelat 2024-05-22 14:43 ` [PATCH v2 2/2] rt-tests: hackbench: properly recognize when integer arguments are negative Anubhav Shelat 2024-05-22 17:17 ` John Kacur 2024-05-22 17:17 ` [PATCH v2 1/2] rt-tests: hackbench: removed extra use of optind John Kacur
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox