Blob Blame History Raw
diff --git a/plugins/sudoers/logging.c b/plugins/sudoers/logging.c
index 2c685cd..7751a67 100644
--- a/plugins/sudoers/logging.c
+++ b/plugins/sudoers/logging.c
@@ -106,7 +106,15 @@ do_syslog(int pri, char *msg)
      * Log the full line, breaking into multiple syslog(3) calls if necessary
      */
     fmt = _("%8s : %s");
-    maxlen = def_syslog_maxlen - (strlen(fmt) - 5 + strlen(sudo_user_name));
+
+
+    if (!sudo_user_name) {
+        maxlen = def_syslog_maxlen - (strlen(fmt) - 5);
+    }
+    else {
+        maxlen = def_syslog_maxlen - (strlen(fmt) - 5 + strlen(sudo_user_name));
+    }
+
     for (p = msg; *p != '\0'; ) {
 	len = strlen(p);
 	if (len > maxlen) {
@@ -122,7 +130,12 @@ do_syslog(int pri, char *msg)
 	    save = *tmp;
 	    *tmp = '\0';
 
-	    mysyslog(pri, fmt, sudo_user_name, p);
+        if(!sudo_user_name) {
+            mysyslog(pri, fmt, "NaN", p);
+        }
+	    else{
+            mysyslog(pri, fmt, sudo_user_name, p);
+        }
 
 	    *tmp = save;			/* restore saved character */