2021-08-07  Bruno Haible  <[email protected]>

        string-buffer: Improve GCC 11 allocation-deallocation checking.
        * lib/string-buffer.h: Include <stdlib.h> instead of <stddef.h>.
        (sb_dupfree): Declare that deallocation must happen through 'free'.

diff --git a/lib/string-buffer.h b/lib/string-buffer.h
index 129dceb..2dae5da 100644
--- a/lib/string-buffer.h
+++ b/lib/string-buffer.h
@@ -21,7 +21,7 @@
 
 #include <stdarg.h>
 #include <stdbool.h>
-#include <stddef.h>
+#include <stdlib.h>
 
 #include "attribute.h"
 
@@ -76,7 +76,8 @@ extern void sb_free (struct string_buffer *buffer);
 /* Returns the contents of BUFFER, and frees all other memory held
    by BUFFER.  Returns NULL upon failure or if there was an error earlier.
    It is the responsibility of the caller to free() the result.  */
-extern char * sb_dupfree (struct string_buffer *buffer);
+extern char * sb_dupfree (struct string_buffer *buffer)
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
 
 #ifdef __cplusplus
 }


Reply via email to