From 5c66e9532ed56bcc103e663a89b087ee60f9fc5d Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Fri, 11 Dec 2020 08:46:39 -0700 Subject: [PATCH] Set sudoers_audit.close to NULL if not using a log server. --- plugins/sudoers/audit.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/sudoers/audit.c b/plugins/sudoers/audit.c index d858ed32c..f72c4d4cb 100644 --- a/plugins/sudoers/audit.c +++ b/plugins/sudoers/audit.c @@ -182,9 +182,17 @@ sudoers_audit_open(unsigned int version, sudo_conv_t conversation, info.plugin_args = plugin_options; ret = sudoers_init(&info, submit_envp); - /* The audit functions set audit_msg on failure. */ - if (ret != 1 && audit_msg != NULL) - *errstr = audit_msg; + if (ret == true) { + /* Unset close function if we don't need it to avoid extra process. */ +#ifdef SUDOERS_LOG_CLIENT + if (client_closure == NULL) +#endif + sudoers_audit.close = NULL; + } else { + /* The audit functions set audit_msg on failure. */ + if (audit_msg != NULL) + *errstr = audit_msg; + } debug_return_int(ret); }