From 97ae3e66b5a6792366d7304379688b0de5d7f3f9 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Mon, 11 Jan 2016 13:00:39 +0100 Subject: [PATCH 5/6] HBAC: Check format string in hbac log function --- src/providers/ipa/hbac_evaluator.c | 2 ++ src/providers/ipa/ipa_hbac.h | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/providers/ipa/hbac_evaluator.c b/src/providers/ipa/hbac_evaluator.c index 026502f31567b037e86d7db9da974e330b0d0ba1..f4b76d8e6ca3b63b092f65cdb4aac9e98e8c717e 100644 --- a/src/providers/ipa/hbac_evaluator.c +++ b/src/providers/ipa/hbac_evaluator.c @@ -23,6 +23,8 @@ along with this program. If not, see . */ +#include "config.h" /* for HAVE_FUNCTION_ATTRIBUTE_FORMAT in "ipa_hbac.h" */ + #include #include #include diff --git a/src/providers/ipa/ipa_hbac.h b/src/providers/ipa/ipa_hbac.h index 09da919e63adfb471b45e1b775f52aae5bb2eef9..ee5f1919b0e216bd6dc09e26b1488fc4bf2d28ef 100644 --- a/src/providers/ipa/ipa_hbac.h +++ b/src/providers/ipa/ipa_hbac.h @@ -50,13 +50,19 @@ enum hbac_debug_level { HBAC_DBG_TRACE /** Verbose description of rules. */ }; +#ifdef HAVE_FUNCTION_ATTRIBUTE_FORMAT +#define HBAC_ATTRIBUTE_PRINTF(a1, a2) __attribute__((format(printf, a1, a2))) +#else +#define HABC_ATTRIBUTE_PRINTF(a1, a2) +#endif + /** * Function pointer to HBAC external debugging function. */ typedef void (*hbac_debug_fn_t)(const char *file, int line, const char *function, enum hbac_debug_level, const char *format, - ...); + ...) HBAC_ATTRIBUTE_PRINTF(5, 6); /** * HBAC uses external_debug_fn for logging messages. -- 2.5.0