From 0fb92d9b37c5242ee12c16d08c5eddfb7754377c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 1 Aug 2021 17:46:13 -0700 Subject: [PATCH] xmalloca: improve -fanalyzer malloc checking --- ChangeLog | 2 +- lib/xmalloca.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 99d546d9ff..403e7ecb7c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,7 +6,7 @@ * 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/sh-quote.h, lib/system-quote.h: - * lib/trim.h, lib/xgetcwd.h, lib/xgethostname.h: + * lib/trim.h, lib/xgetcwd.h, lib/xgethostname.h, lib/xmalloca.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/xmalloca.h b/lib/xmalloca.h index dbc648697e..6fec3de61a 100644 --- a/lib/xmalloca.h +++ b/lib/xmalloca.h @@ -39,7 +39,9 @@ extern "C" { + (2 * sa_alignment_max - 1)) \ & ~(uintptr_t)(2 * sa_alignment_max - 1)) \ : xmmalloca (N)) -extern void * xmmalloca (size_t n); +extern void * xmmalloca (size_t n) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC (freea, 1) + _GL_ATTRIBUTE_ALLOC_SIZE ((1)) _GL_ATTRIBUTE_RETURNS_NONNULL; #else # define xmalloca(N) \ xmalloc (N) -- 2.39.5