From d13a8ea18f852e97201269e55255a14fe4fe5d0f Mon Sep 17 00:00:00 2001 From: Christian Göttsche Date: Mon, 30 Jan 2023 17:36:57 +0100 Subject: Enable format compiler warnings * libpam/include/pam_cc_compat.h (DIAG_PUSH_IGNORE_FORMAT_NONLITERAL, DIAG_POP_IGNORE_FORMAT_NONLITERAL): New macros. * libpam/pam_handlers.c (_pam_open_config_file): Use them to exempt usage of format string literals from a constant array. * m4/warn_lang_flags.m4 (gl_WARN_ADD): Add -Wformat=2. --- libpam/pam_handlers.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libpam/pam_handlers.c') diff --git a/libpam/pam_handlers.c b/libpam/pam_handlers.c index 12ebb8fc..6629480e 100644 --- a/libpam/pam_handlers.c +++ b/libpam/pam_handlers.c @@ -281,7 +281,7 @@ _pam_open_config_file(pam_handle_t *pamh , char **path , FILE **file) { - const char *pamd_dirs[] = { PAM_CONFIG_DF, PAM_CONFIG_DIST_DF + const char *const pamd_dirs[] = { PAM_CONFIG_DF, PAM_CONFIG_DIST_DF #ifdef VENDORDIR , PAM_CONFIG_DIST2_DF #endif @@ -317,10 +317,12 @@ _pam_open_config_file(pam_handle_t *pamh } for (i = 0; i < PAM_ARRAY_SIZE(pamd_dirs); i++) { - if (asprintf (&p, pamd_dirs[i], service) < 0) { + DIAG_PUSH_IGNORE_FORMAT_NONLITERAL + if (asprintf (&p, pamd_dirs[i], service) < 0) { pam_syslog(pamh, LOG_CRIT, "asprintf failed"); return PAM_BUF_ERR; } + DIAG_POP_IGNORE_FORMAT_NONLITERAL D(("opening %s", p)); f = fopen(p, "r"); -- cgit v1.2.3