[PATCH] Use [[gnu::access(none)]] on free(3)

Alejandro Colomar alx@kernel.org
Fri Jan 26 18:39:06 GMT 2024


The lifetime of the object expires right at the boundary of the call to
free(3), and the function doesn't access (neither read nor write) it, as
far as the abstract machine is concerned.

Cc: Arsen Arsenović <arsen@gentoo.org>
Cc: Andreas Schwab <schwab@linux-m68k.org>
Cc: Xi Ruoyao <xry111@xry111.site>
Cc: Russ Allbery <eagle@eyrie.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
 stdlib/stdlib.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 414c49d731..8dfd373bf5 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -684,7 +684,8 @@ extern void *realloc (void *__ptr, size_t __size)
      __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2));
 
 /* Free a block allocated by `malloc', `realloc' or `calloc'.  */
-extern void free (void *__ptr) __THROW;
+extern void free (void *__ptr)
+     __THROW __attr_access ((__none__, 1));
 
 #ifdef __USE_MISC
 /* Re-allocate the previously allocated block in PTR, making the new
-- 
2.43.0

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20240126/9429e95f/attachment.sig>


More information about the Libc-alpha mailing list