]> Savannah Git Hosting - gnulib.git/commitdiff
posix_memalign-tests: port to CHERI-64
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 7 Nov 2023 07:43:03 +0000 (23:43 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 7 Nov 2023 07:59:36 +0000 (23:59 -0800)
* tests/test-posix_memalign.c (main):
Don’t assume sizeof (void *) <= 8.

ChangeLog
tests/test-posix_memalign.c

index d322f9a08ec96aece1716fbff1ab328fb9350ef7..7f02c24f6c580ffdee6f06d6b47a597286e5d067 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2023-11-06  Paul Eggert  <eggert@cs.ucla.edu>
 
+       posix_memalign-tests: port to CHERI-64
+       * tests/test-posix_memalign.c (main):
+       Don’t assume sizeof (void *) <= 8.
+
        mcel-tests: fix read overrun in test case
        * tests/test-mcel.c (main): Don’t overrun test input buffer.
        Problem reported by Bruno Haible; found on CHERI-64.
index f0c91fbd9d15eba3a7337a878bdcdaf561dd6b59..377d1c27333193b81db96a9ffb027d1ec2b12021 100644 (file)
@@ -62,10 +62,13 @@ main (int argc, char *argv[])
           memset (aligned4_blocks[i], 'v', size);
         }
 
-      ASSERT (posix_memalign (&aligned8_blocks[i], 8, size) == 0);
-      ASSERT (aligned8_blocks[i] != NULL);
-      ASSERT (((uintptr_t) aligned8_blocks[i] % 8) == 0);
-      memset (aligned8_blocks[i], 'w', size);
+      if (sizeof (void *) <= 8)
+       {
+         ASSERT (posix_memalign (&aligned8_blocks[i], 8, size) == 0);
+         ASSERT (aligned8_blocks[i] != NULL);
+         ASSERT (((uintptr_t) aligned8_blocks[i] % 8) == 0);
+         memset (aligned8_blocks[i], 'w', size);
+       }
 
       ASSERT (posix_memalign (&aligned16_blocks[i], 16, size) == 0);
       ASSERT (aligned16_blocks[i] != NULL);
@@ -89,7 +92,8 @@ main (int argc, char *argv[])
         free (aligned2_blocks[i]);
       if (sizeof (void *) <= 4)
         free (aligned4_blocks[i]);
-      free (aligned8_blocks[i]);
+      if (sizeof (void *) <= 8)
+       free (aligned8_blocks[i]);
       free (aligned16_blocks[i]);
       free (aligned32_blocks[i]);
       free (aligned64_blocks[i]);