]> Savannah Git Hosting - gnulib.git/commitdiff
free tests: Avoid test failure with ASAN.
authorBruno Haible <bruno@clisp.org>
Thu, 9 May 2024 13:06:40 +0000 (15:06 +0200)
committerBruno Haible <bruno@clisp.org>
Fri, 17 May 2024 23:32:37 +0000 (01:32 +0200)
* tests/test-free.c (main): Skip mmap/munmap based test if ASAN is
enabled.

ChangeLog
tests/test-free.c

index 90c43861d650ce3a455b62d71593f1fdb041febc..aec539e3e621ee94cc0809e21293ca69a42a0253 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-05-09  Bruno Haible  <bruno@clisp.org>
+
+       free tests: Avoid test failure with ASAN.
+       * tests/test-free.c (main): Skip mmap/munmap based test if ASAN is
+       enabled.
+
 2024-05-09  Bruno Haible  <bruno@clisp.org>
 
        explicit_bzero, memset_explicit tests: Avoid test failures with ASAN.
index c530e861e2c526e4212ba6227620f1500bfe9c53..9cc0c7016c9217a206a6a57c09d2d24de7189661 100644 (file)
@@ -1,5 +1,5 @@
 /* Test of free() function.
-   Copyright (C) 2020-2023 Free Software Foundation, Inc.
+   Copyright (C) 2020-2024 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -98,6 +98,12 @@ main ()
     #undef N
   }
 
+  /* Skip this test when an address sanitizer is in use, because it would report
+     a "heap buffer overflow".  */
+  #ifndef __has_feature
+   #define __has_feature(a) 0
+  #endif
+  #if !(defined __SANITIZE_ADDRESS__ || __has_feature (address_sanitizer))
   /* Test a less common code path.
      When malloc() is based on mmap(), free() can sometimes call munmap().
      munmap() usually succeeds, but fails in a particular situation: when
@@ -170,6 +176,7 @@ main ()
         }
     }
   #endif
+  #endif
 
   return 0;
 }