strlenopt-66.c: Avoid buffer overflow.
authorMartin Sebor <msebor@redhat.com>
Fri, 22 Nov 2019 00:51:16 +0000 (00:51 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Fri, 22 Nov 2019 00:51:16 +0000 (17:51 -0700)
gcc/testsuite/ChangeLog:
* gcc.dg/strlenopt-66.c: Avoid buffer overflow.  Add more test cases.

From-SVN: r278608

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/strlenopt-66.c

index a3d3e73568ec63ec3c72765f1247027c2669017e..38ff666a49326b5049a59212d601c6e1746982dc 100644 (file)
@@ -1,3 +1,7 @@
+2019-11-21  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/strlenopt-66.c: Avoid buffer overflow.  Add more test cases.
+
 2019-11-21  Joseph Myers  <joseph@codesourcery.com>
 
        * gcc.dg/c2x-attr-fallthrough-6.c: New test.  Split out from
index 4ba31a845b0cb59e961937fe81b4625df16fdc28..469f3fd8457ef0c55a7224a087180ffb9a10005f 100644 (file)
@@ -1,7 +1,7 @@
 /* PRE tree-optimization/90626 - fold strcmp(a, b) == 0 to zero when
    one string length is exact and the other is unequal
    { dg-do run }
-   { dg-options "-O2 -Wall -fdump-tree-optimized" } */
+   { dg-options "-O2 -Wall" } */
 
 #include "strlenopt.h"
 
@@ -103,6 +103,12 @@ int main (void)
   test_strncmp_a4_cond_s5_s2_2 ("12", 0);
   test_strncmp_a4_cond_a5_s2_5 ("12", "1234", 0);
 
-  test_strncmp_a4_cond_a5_a3_n ("12", "123", "1234", 0, 2);
-  test_strncmp_a4_cond_a5_a3_n ("123", "12", "12", 1, 3);
+  test_strncmp_a4_cond_a5_a3_n ("12", "1", "1",    0, 1);
+  test_strncmp_a4_cond_a5_a3_n ("",   "1", "1234", 1, 1);
+
+  test_strncmp_a4_cond_a5_a3_n ("12", "12", "1",    0, 2);
+  test_strncmp_a4_cond_a5_a3_n ("",   "12", "1234", 1, 2);
+
+  test_strncmp_a4_cond_a5_a3_n ("12", "123", "1",    0, 2);
+  test_strncmp_a4_cond_a5_a3_n ("",   "123", "1234", 1, 3);
 }