]> Savannah Git Hosting - gnulib.git/commitdiff
sh-quote: improve -fanalyzer malloc checking
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Aug 2021 00:42:56 +0000 (17:42 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Aug 2021 01:06:56 +0000 (18:06 -0700)
ChangeLog
lib/sh-quote.h

index 45fd8cad547b5c5986b3ec81c0cbf1c337e84404..6c81691fbabb5c1e8262ca2b977f17cf5dba7dc2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,7 +5,7 @@
        * 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/pagealign_alloc.h, lib/quotearg.h:
-       * lib/readutmp.h, lib/savedir.h:
+       * lib/readutmp.h, lib/savedir.h, lib/sh-quote.h:
        Add malloc-related attributes and include stdlib.h as needed.
        * lib/dfa.c: Include verify.h.
        (assume_nonnull): New macro.
index e543e40639ccb597f3c95c235a4287d46c53a2b9..0101036e5f9845fa6dbd46951c751bf8738b88f2 100644 (file)
@@ -23,6 +23,7 @@
    "$", '*', '?' etc. in a special way.  */
 
 #include <stddef.h>
+#include <stdlib.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -36,11 +37,15 @@ extern size_t shell_quote_length (const char *string);
 extern char * shell_quote_copy (char *restrict p, const char *string);
 
 /* Returns the freshly allocated quoted string.  */
-extern char * shell_quote (const char *string);
+extern char * shell_quote (const char *string)
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+  _GL_ATTRIBUTE_RETURNS_NONNULL;
 
 /* Returns a freshly allocated string containing all argument strings, quoted,
    separated through spaces.  */
-extern char * shell_quote_argv (const char * const *argv);
+extern char * shell_quote_argv (const char * const *argv)
+  _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE
+  _GL_ATTRIBUTE_RETURNS_NONNULL;
 
 #ifdef __cplusplus
 }