summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/xmemdup0.h6
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2a8bcf90e4..336da1deb6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2021-08-07 Bruno Haible <bruno@clisp.org>
+ xmemdup0: Improve GCC 11 allocation-deallocation checking.
+ * lib/xmemdup0.h: Include <stdlib.h> instead of <stddef.h>.
+ (xmemdup0): Declare that deallocation must happen through 'free'.
+
+2021-08-07 Bruno Haible <bruno@clisp.org>
+
windows-spawn: Improve GCC 11 allocation-deallocation checking.
* lib/windows-spawn.h: Include <stdlib.h>.
(compose_command, compose_envblock): Declare that deallocation must
diff --git a/lib/xmemdup0.h b/lib/xmemdup0.h
index 4f3b581488..6e34348336 100644
--- a/lib/xmemdup0.h
+++ b/lib/xmemdup0.h
@@ -18,14 +18,16 @@
#ifndef XMEMDUP_H_
# define XMEMDUP_H_
-# include <stddef.h>
+# include <stdlib.h>
# ifdef __cplusplus
extern "C" {
# endif
-char *xmemdup0 (void const *p, size_t s);
+char *xmemdup0 (void const *p, size_t s)
+ _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+ _GL_ATTRIBUTE_RETURNS_NONNULL;
# ifdef __cplusplus
}