From: Paul Eggert Date: Mon, 2 Aug 2021 00:39:38 +0000 (-0700) Subject: quotearg: improve -fanalyzer malloc checking X-Git-Tag: v1.0~2749 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=15fd07e1bf3dd62ec17306c69fba9f70ad120e08;p=gnulib.git quotearg: improve -fanalyzer malloc checking --- diff --git a/ChangeLog b/ChangeLog index e3573cee27..8a3dcb3885 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,7 +4,7 @@ * lib/backup-internal.h, lib/backupfile.h: * 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/mountlist.h, lib/pagealign_alloc.h, lib/quotearg.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/quotearg.h b/lib/quotearg.h index ecef74f742..22c09bcea1 100644 --- a/lib/quotearg.h +++ b/lib/quotearg.h @@ -333,7 +333,9 @@ size_t quotearg_buffer (char *restrict buffer, size_t buffersize, buffer. It is the caller's responsibility to free the result. The result will not contain embedded null bytes. */ char *quotearg_alloc (char const *arg, size_t argsize, - struct quoting_options const *o); + struct quoting_options const *o) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; /* Like quotearg_alloc, except that the length of the result, excluding the terminating null byte, is stored into SIZE if it is @@ -342,7 +344,10 @@ char *quotearg_alloc (char const *arg, size_t argsize, backslash escapes, and the flags of O do not request elision of null bytes.*/ char *quotearg_alloc_mem (char const *arg, size_t argsize, - size_t *size, struct quoting_options const *o); + size_t *size, struct quoting_options const *o) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE + _GL_ATTRIBUTE_RETURNS_NONNULL; +; /* Use storage slot N to return a quoted version of the string ARG. Use the default quoting options.