]> granicus.if.org Git - sudo/commitdiff
Set sudoers locale in log_allowed()
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 9 Nov 2012 21:31:23 +0000 (16:31 -0500)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 9 Nov 2012 21:31:23 +0000 (16:31 -0500)
plugins/sudoers/logging.c

index 2b61f3869e7b254bd18bb9f0bf5fde058a1f9473..7dcda03c78f836b952daa19d31f027d143295da1 100644 (file)
@@ -387,8 +387,12 @@ void
 log_allowed(int status)
 {
     char *logline;
+    int oldlocale;
     debug_decl(log_allowed, SUDO_DEBUG_LOGGING)
 
+    /* Log and mail messages should be in the sudoers locale. */
+    sudoers_setlocale(SUDOERS_LOCALE_SUDOERS, &oldlocale);
+
     logline = new_logline(NULL, 0);
 
     if (should_mail(status))
@@ -403,6 +407,9 @@ log_allowed(int status)
        do_logfile(logline);
 
     efree(logline);
+
+    sudoers_setlocale(oldlocale, NULL);
+
     debug_return;
 }