public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* [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