]> Savannah Git Hosting - gnulib.git/commitdiff
c-xvasprintf: Improve GCC 11 allocation-deallocation checking.
authorBruno Haible <bruno@clisp.org>
Sat, 7 Aug 2021 17:16:48 +0000 (19:16 +0200)
committerBruno Haible <bruno@clisp.org>
Sat, 7 Aug 2021 17:16:48 +0000 (19:16 +0200)
* lib/c-xvasprintf.h: Include <stdlib.h>.
(c_xasprintf, c_xvasprintf): Declare that deallocation must happen
through 'free'.

ChangeLog
lib/c-xvasprintf.h

index 7d193dac0ac4b3963c2ef4779c5846a8b0f8c640..0d2b8e9c3aa4176bcd44c43883c6de5dd420b096 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-08-07  Bruno Haible  <bruno@clisp.org>
+
+       c-xvasprintf: Improve GCC 11 allocation-deallocation checking.
+       * lib/c-xvasprintf.h: Include <stdlib.h>.
+       (c_xasprintf, c_xvasprintf): Declare that deallocation must happen
+       through 'free'.
+
 2021-08-07  Bruno Haible  <bruno@clisp.org>
 
        bitsetv: Improve GCC 11 allocation-deallocation checking.
index ae48780729b4a6b23a0f162e1def8000c423d65b..69e5c1bbe486ab72593125ecf1a2742c9fc19e68 100644 (file)
@@ -23,6 +23,8 @@
 /* Get _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.  */
 #include <stdio.h>
 
+#include <stdlib.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -38,9 +40,11 @@ extern "C" {
    Formatting takes place in the C locale, that is, the decimal point
    used in floating-point formatting directives is always '.'. */
 extern char *c_xasprintf (const char *format, ...)
-       _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 1, 2));
+  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 1, 2))
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_RETURNS_NONNULL;
 extern char *c_xvasprintf (const char *format, va_list args)
-       _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 1, 0));
+  _GL_ATTRIBUTE_FORMAT ((_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, 1, 0))
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_RETURNS_NONNULL;
 
 #ifdef __cplusplus
 }