]> granicus.if.org Git - sudo/commitdiff
Fix printing of the permission denied message to standard error
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 27 Jul 2012 20:22:09 +0000 (16:22 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 27 Jul 2012 20:22:09 +0000 (16:22 -0400)
when a user is not allowed to run a command.  This got broken by
the recent logging changes.

plugins/sudoers/logging.c

index 239a60436a5f194b710e4b8dccb040f554810549..8ad8e5cb61ff86953dde6e4f307a0cfe2bfb1518 100644 (file)
@@ -310,7 +310,7 @@ void
 log_failure(int status, int flags)
 {
     debug_decl(log_failure, SUDO_DEBUG_LOGGING)
-    bool inform_user;
+    bool inform_user = true;
 
     /* Handle auditing first. */
     if (ISSET(status, FLAG_NO_USER | FLAG_NO_HOST))
@@ -319,7 +319,9 @@ log_failure(int status, int flags)
        audit_failure(NewArgv, _("validation failure"));
 
     /* The user doesn't always get to see the log message (path info). */
-    inform_user = def_path_info && (flags == NOT_FOUND_DOT || flags == NOT_FOUND);
+    if (!ISSET(status, FLAG_NO_USER | FLAG_NO_HOST) && def_path_info &&
+       (flags == NOT_FOUND_DOT || flags == NOT_FOUND))
+       inform_user = false;
     log_denial(status, inform_user);
 
     if (!inform_user) {