]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
string: Add a testcase for wcsncmp with SIZE_MAX [BZ #28755]
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 17 Feb 2022 16:10:35 +0000 (08:10 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 17 Feb 2022 19:14:42 +0000 (11:14 -0800)
Verify that wcsncmp (L("abc"), L("abd"), SIZE_MAX) == 0.  The new test
fails without

commit ddf0992cf57a93200e0c782e2a94d0733a5a0b87
Author: Noah Goldstein <goldstein.w.n@gmail.com>
Date:   Sun Jan 9 16:02:21 2022 -0600

    x86: Fix __wcsncmp_avx2 in strcmp-avx2.S [BZ# 28755]

and

commit 7e08db3359c86c94918feb33a1182cd0ff3bb10b
Author: Noah Goldstein <goldstein.w.n@gmail.com>
Date:   Sun Jan 9 16:02:28 2022 -0600

    x86: Fix __wcsncmp_evex in strcmp-evex.S [BZ# 28755]

This is for BZ #28755.

Reviewed-by: Sunil K Pandey <skpgkp2@gmail.com>
(cherry picked from commit aa5a720056d37cf24924c138a3dbe6dace98e97c)

string/test-strncmp.c

index 10b34de8d2acb2a13ccb006899661c33680c7e45..97e831d88fd2431686937c3a6e48b841e0742f67 100644 (file)
@@ -435,6 +435,18 @@ check3 (void)
        }
 }
 
+static void
+check4 (void)
+{
+  const CHAR *s1 = L ("abc");
+  CHAR *s2 = STRDUP (s1);
+
+  FOR_EACH_IMPL (impl, 0)
+    check_result (impl, s1, s2, SIZE_MAX, 0);
+
+  free (s2);
+}
+
 int
 test_main (void)
 {
@@ -445,6 +457,7 @@ test_main (void)
   check1 ();
   check2 ();
   check3 ();
+  check4 ();
 
   printf ("%23s", "");
   FOR_EACH_IMPL (impl, 0)