[PATCH for jk/leak-checkers] git-compat-util: make UNLEAK less error-prone
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Sep 19, 2017, 21:34 UTC
- Message-ID
- <20170919213456.13983-1-jonathantanmy@google.com>
- In-Reply-To
- <20170919210300.cbrdjqor6xuwd7bs@sigill.intra.peff.net>
Commit 0e5bba5 ("add UNLEAK annotation for reducing leak false positives", 2017-09-08) introduced an UNLEAK macro to be used as "UNLEAK(var);", but its existing definitions make it possible to be invoked as "UNLEAK(var)" (without the trailing semicolon) too.
Therefore, modify its definitions to cause a compile-time error if invoked without the trailing semicolon.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com> --- Sure, here is the patch. --- git-compat-util.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h index 003e444c4..9bc15b036 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -1184,9 +1184,9 @@ extern int cmd_main(int, const char **); */ #ifdef SUPPRESS_ANNOTATED_LEAKS extern void unleak_memory(const void *ptr, size_t len); -#define UNLEAK(var) unleak_memory(&(var), sizeof(var)); +#define UNLEAK(var) unleak_memory(&(var), sizeof(var)) #else -#define UNLEAK(var) +#define UNLEAK(var) do {} while (0) #endif #endif
-- 2.14.1.821.g8fa685d3b7-goog