diff options
author | Andreas Schneider <asn@samba.org> | 2017-04-06 12:08:54 +0200 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2017-04-06 13:41:55 +0200 |
commit | 22a4fbf90a8c9b34b893bec2890c0590ddd4cb61 (patch) | |
tree | a5237291ae545e1ad467ff0eafe2c7c372c90abd | |
parent | e7d8276736f7c45a3734060c5c7242f018bd9028 (diff) | |
download | pam_wrapper-22a4fbf90a8c9b34b893bec2890c0590ddd4cb61.tar.gz pam_wrapper-22a4fbf90a8c9b34b893bec2890c0590ddd4cb61.tar.xz pam_wrapper-22a4fbf90a8c9b34b893bec2890c0590ddd4cb61.zip |
pwrap: Do an early return in pwrap_vlog if log level doesn't match
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r-- | src/pam_wrapper.c | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/src/pam_wrapper.c b/src/pam_wrapper.c index 1664593..43ea306 100644 --- a/src/pam_wrapper.c +++ b/src/pam_wrapper.c @@ -121,38 +121,40 @@ static void pwrap_vlog(enum pwrap_dbglvl_e dbglvl, char buffer[1024]; const char *d; unsigned int lvl = 0; + const char *prefix = "PWRAP"; d = getenv("PAM_WRAPPER_DEBUGLEVEL"); if (d != NULL) { lvl = atoi(d); } - vsnprintf(buffer, sizeof(buffer), format, args); + if (lvl < dbglvl) { + return; + } - if (lvl >= dbglvl) { - const char *prefix = "PWRAP"; - switch (dbglvl) { - case PWRAP_LOG_ERROR: - prefix = "PWRAP_ERROR"; - break; - case PWRAP_LOG_WARN: - prefix = "PWRAP_WARN"; - break; - case PWRAP_LOG_DEBUG: - prefix = "PWRAP_DEBUG"; - break; - case PWRAP_LOG_TRACE: - prefix = "PWRAP_TRACE"; - break; - } + vsnprintf(buffer, sizeof(buffer), format, args); - fprintf(stderr, - "%s(%d) - %s: %s\n", - prefix, - (int)getpid(), - function, - buffer); + switch (dbglvl) { + case PWRAP_LOG_ERROR: + prefix = "PWRAP_ERROR"; + break; + case PWRAP_LOG_WARN: + prefix = "PWRAP_WARN"; + break; + case PWRAP_LOG_DEBUG: + prefix = "PWRAP_DEBUG"; + break; + case PWRAP_LOG_TRACE: + prefix = "PWRAP_TRACE"; + break; } + + fprintf(stderr, + "%s(%d) - %s: %s\n", + prefix, + (int)getpid(), + function, + buffer); } static void pwrap_log(enum pwrap_dbglvl_e dbglvl, |