The branch, master has been updated
       via  0685954 pam_winbind: avoid non-literal-format warning
      from  1da1720 vfs_fruit: proper VFS-stackable conversion of FinderInfo

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 06859547f0b2a4cd1792599526184042d60d4fb0
Author: Uri Simchoni <[email protected]>
Date:   Sun Nov 19 13:14:14 2017 +0000

    pam_winbind: avoid non-literal-format warning
    
    Signed-off-by: Uri Simchoni <[email protected]>
    Reviewed-by: Andrew Bartlett <[email protected]>
    
    Autobuild-User(master): Andrew Bartlett <[email protected]>
    Autobuild-Date(master): Wed Nov 29 12:50:49 CET 2017 on sn-devel-144

-----------------------------------------------------------------------

Summary of changes:
 nsswitch/pam_winbind.c | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/nsswitch/pam_winbind.c b/nsswitch/pam_winbind.c
index 3723b17..e14fcfe 100644
--- a/nsswitch/pam_winbind.c
+++ b/nsswitch/pam_winbind.c
@@ -174,6 +174,10 @@ static inline void textdomain_init(void)
 
 
 /* some syslogging */
+static void _pam_log_int(const pam_handle_t *pamh,
+                        int err,
+                        const char *format,
+                        va_list args) PRINTF_ATTRIBUTE(3, 0);
 
 #ifdef HAVE_PAM_VSYSLOG
 static void _pam_log_int(const pam_handle_t *pamh,
@@ -189,21 +193,26 @@ static void _pam_log_int(const pam_handle_t *pamh,
                         const char *format,
                         va_list args)
 {
-       char *format2 = NULL;
+       char *base = NULL;
+       va_list args2;
        const char *service;
        int ret;
 
+       va_copy(args2, args);
+
        pam_get_item(pamh, PAM_SERVICE, (const void **) &service);
 
-       ret = asprintf(&format2, "%s(%s): %s", MODULE_NAME, service, format);
+       ret = vasprintf(&base, format, args);
        if (ret == -1) {
                /* what else todo ? */
-               vsyslog(err, format, args);
+               vsyslog(err, format, args2);
+               va_end(args2);
                return;
        }
 
-       vsyslog(err, format2, args);
-       SAFE_FREE(format2);
+       syslog(err, "%s(%s): %s", MODULE_NAME, service, base);
+       SAFE_FREE(base);
+       va_end(args2);
 }
 #endif /* HAVE_PAM_VSYSLOG */
 
@@ -714,6 +723,11 @@ static int _make_remark(struct pwb_context *ctx,
 static int _make_remark_v(struct pwb_context *ctx,
                          int type,
                          const char *format,
+                         va_list args) PRINTF_ATTRIBUTE(3, 0);
+
+static int _make_remark_v(struct pwb_context *ctx,
+                         int type,
+                         const char *format,
                          va_list args)
 {
        char *var;


-- 
Samba Shared Repository

Reply via email to