* [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