[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/27] pagalign_alloc: improve -fanalyzer malloc checking
From: |
Paul Eggert |
Subject: |
[PATCH 10/27] pagalign_alloc: improve -fanalyzer malloc checking |
Date: |
Sun, 1 Aug 2021 18:18:04 -0700 |
---
ChangeLog | 2 +-
lib/pagealign_alloc.h | 17 ++++++++++-------
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f130f9317..e3573cee2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,7 @@
* lib/backup-internal.h, lib/backupfile.h:
* lib/canonicalize.h, lib/dfa.h, lib/dirname.h, lib/exclude.h:
* lib/filenamecat.h, lib/malloca.h, lib/modechange.h:
- * lib/mountlist.h:
+ * lib/mountlist.h, lib/pagealign_alloc.h:
Add malloc-related attributes and include stdlib.h as needed.
* lib/dfa.c: Include verify.h.
(assume_nonnull): New macro.
diff --git a/lib/pagealign_alloc.h b/lib/pagealign_alloc.h
index 387d5aa04..eb2d4e0df 100644
--- a/lib/pagealign_alloc.h
+++ b/lib/pagealign_alloc.h
@@ -20,6 +20,12 @@
# include <stddef.h>
+/* Free a memory block.
+ PTR must be a non-NULL pointer returned by pagealign_alloc or
+ pagealign_xalloc. */
+extern void pagealign_free (void *ptr)
+ _GL_ATTRIBUTE_NONNULL ((1));
+
/* Allocate a block of memory of SIZE bytes, aligned on a system page
boundary.
If SIZE is not a multiple of the system page size, it will be rounded up
@@ -27,16 +33,13 @@
Return a pointer to the start of the memory block. Upon allocation failure,
return NULL and set errno. */
extern void *pagealign_alloc (size_t size)
- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1));
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (pagealign_free, 1)
+ _GL_ATTRIBUTE_ALLOC_SIZE ((1));
/* Like pagealign_alloc, except it exits the program if the allocation
fails. */
extern void *pagealign_xalloc (size_t size)
- _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE ((1));
-
-/* Free a memory block.
- PTR must be a non-NULL pointer returned by pagealign_alloc or
- pagealign_xalloc. */
-extern void pagealign_free (void *ptr);
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (pagealign_free, 1)
+ _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL;
#endif /* _PAGEALIGN_ALLOC_H */
--
2.31.1
- [PATCH 03/27] dfa: improve -fanalyzer malloc checking, (continued)
- [PATCH 03/27] dfa: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 04/27] dirname: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 05/27] exclude: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 06/27] filenamecat-lgpl: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 08/27] modechange: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 07/27] malloca: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 09/27] mountlist: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 10/27] pagalign_alloc: improve -fanalyzer malloc checking,
Paul Eggert <=
- [PATCH 11/27] quotearg: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 14/27] sh-quote: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 12/27] readutmp: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 16/27] trim: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 18/27] xgethostname: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 17/27] xgetcwd: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 15/27] system-quote: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 13/27] savedir: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01
- [PATCH 20/27] xreadlink: improve -fanalyzer malloc checking, Paul Eggert, 2021/08/01