---
ChangeLog | 2 +-
lib/dirname.h | 12 +++++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d7740df52..884443438 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,7 +2,7 @@
maint: improve -fanalyzer malloc checking
* lib/backup-internal.h, lib/backupfile.h:
- * lib/canonicalize.h, lib/dfa.h:
+ * lib/canonicalize.h, lib/dfa.h, lib/dirname.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/dirname.h b/lib/dirname.h
index 492a4381f..04f823eca 100644
--- a/lib/dirname.h
+++ b/lib/dirname.h
@@ -21,6 +21,7 @@
# include <stdbool.h>
# include <stddef.h>
+# include <stdlib.h>
# include "filename.h"
# include "basename-lgpl.h"
@@ -33,11 +34,16 @@ extern "C" {
#endif
# if GNULIB_DIRNAME
-char *base_name (char const *file) _GL_ATTRIBUTE_MALLOC;
-char *dir_name (char const *file);
+char *base_name (char const *file)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+ _GL_ATTRIBUTE_RETURNS_NONNULL;
+char *dir_name (char const *file)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+ _GL_ATTRIBUTE_RETURNS_NONNULL;
# endif
-char *mdir_name (char const *file);
+char *mdir_name (char const *file)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE;
bool strip_trailing_slashes (char *file);
--
2.31.1