have the user's command at this point so there is nothing to audit.
Add a NULL check in audit_success() and audit_failure() just to be
on the safe side.
void
audit_success(char *exec_args[])
{
+ if (exec_args == NULL)
+ return;
+
#ifdef HAVE_BSM_AUDIT
bsm_audit_success(exec_args);
#endif
}
void
-audit_failure(char **exec_args, char const *const fmt, ...)
+audit_failure(char *exec_args[], char const *const fmt, ...)
{
va_list ap;
+ if (exec_args == NULL)
+ return;
+
va_start(ap, fmt);
#ifdef HAVE_BSM_AUDIT
bsm_audit_failure(exec_args, fmt, ap);
if ((runas_pw = sudo_getpwuid(atoi(user + 1))) == NULL)
runas_pw = sudo_fakepwnam(user, runas_gr ? runas_gr->gr_gid : 0);
} else {
- if ((runas_pw = sudo_getpwnam(user)) == NULL) {
- audit_failure(NewArgv, _("unknown user: %s"), user);
+ if ((runas_pw = sudo_getpwnam(user)) == NULL)
log_error(NO_MAIL|MSG_ONLY, _("unknown user: %s"), user);
- }
}
}