argv-iter tests: Avoid gcc -Wanalyzer-out-of-bounds warning.
authorBruno Haible <bruno@clisp.org>
Mon, 4 Sep 2023 15:07:33 +0000 (17:07 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 14 Sep 2023 10:10:23 +0000 (12:10 +0200)
* tests/test-argv-iter.c (main): Simplify logic.

ChangeLog
tests/test-argv-iter.c

index 9b72a900a77000b601b32a978e0e18da7689bef9..08a06e203adcd4aa1f8d7904b9e229d5521a184e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2023-09-04  Bruno Haible  <bruno@clisp.org>
 
+       argv-iter tests: Avoid gcc -Wanalyzer-out-of-bounds warning.
+       * tests/test-argv-iter.c (main): Simplify logic.
+
        crypto/{gc-rijndael,rijndael} tests: Fix some gcc -Wshadow warnings.
        * tests/test-gc-rijndael.c (main): Rename local variable 'i' to 'round'.
        * tests/test-rijndael.c (main): Likewise.
index ea5803ab46a04c970803b835a8417b76e8a62d42..8d97da914633cefd3e47ed07902e18b8463897b3 100644 (file)
@@ -86,15 +86,14 @@ main (void)
               ASSERT ((i == n_found) == (ai_err == AI_ERR_EOF));
               ASSERT ((s == NULL) ^ (ai_err == AI_ERR_OK));
               ASSERT (ai_err == AI_ERR_OK || ai_err == AI_ERR_EOF);
-              if (ai_err == AI_ERR_OK)
-                ++n_found;
               if (ai_err == AI_ERR_EOF)
                 break;
               /* In stream mode, the strings are equal, but
                  in argv mode the actual pointers are equal.  */
               ASSERT (use_stream
-                      ? STREQ (s, av[i][n_found - 1])
-                      : s == av[i][n_found - 1]);
+                      ? STREQ (s, av[i][n_found])
+                      : s == av[i][n_found]);
+              ++n_found;
             }
           ASSERT (argv_iter_n_args (ai) == i);
           argv_iter_free (ai);