From a7d6098fb455fd5c41c08d30bed5427472d4c368 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 2 May 2020 20:25:21 +0300 Subject: [PATCH] Add PRINTF_FORMAT for printf wrapper functions This avoids compiler format-nonliteral warnings ("format string is not a string literal"). Signed-off-by: Jouni Malinen --- src/ap/wpa_auth_i.h | 3 ++- src/eapol_auth/eapol_auth_sm.c | 1 + src/utils/common.h | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h index af0aaca1b..ba08ac257 100644 --- a/src/ap/wpa_auth_i.h +++ b/src/ap/wpa_auth_i.h @@ -277,7 +277,8 @@ int wpa_write_rsnxe(struct wpa_auth_config *conf, u8 *buf, size_t len); void wpa_auth_logger(struct wpa_authenticator *wpa_auth, const u8 *addr, logger_level level, const char *txt); void wpa_auth_vlogger(struct wpa_authenticator *wpa_auth, const u8 *addr, - logger_level level, const char *fmt, ...); + logger_level level, const char *fmt, ...) + PRINTF_FORMAT(4, 5); void __wpa_send_eapol(struct wpa_authenticator *wpa_auth, struct wpa_state_machine *sm, int key_info, const u8 *key_rsc, const u8 *nonce, diff --git a/src/eapol_auth/eapol_auth_sm.c b/src/eapol_auth/eapol_auth_sm.c index e3a57e7db..1c11cb613 100644 --- a/src/eapol_auth/eapol_auth_sm.c +++ b/src/eapol_auth/eapol_auth_sm.c @@ -56,6 +56,7 @@ static void eapol_auth_logger(struct eapol_authenticator *eapol, } +PRINTF_FORMAT(4, 5) static void eapol_auth_vlogger(struct eapol_authenticator *eapol, const u8 *addr, eapol_logger_level level, const char *fmt, ...) diff --git a/src/utils/common.h b/src/utils/common.h index 8e5cfe16a..45f72bb30 100644 --- a/src/utils/common.h +++ b/src/utils/common.h @@ -482,7 +482,8 @@ int hexstr2bin(const char *hex, u8 *buf, size_t len); void inc_byte_array(u8 *counter, size_t len); void buf_shift_right(u8 *buf, size_t len, size_t bits); void wpa_get_ntp_timestamp(u8 *buf); -int wpa_scnprintf(char *buf, size_t size, const char *fmt, ...); +int wpa_scnprintf(char *buf, size_t size, const char *fmt, ...) + PRINTF_FORMAT(3, 4); int wpa_snprintf_hex_sep(char *buf, size_t buf_size, const u8 *data, size_t len, char sep); int wpa_snprintf_hex(char *buf, size_t buf_size, const u8 *data, size_t len);