]> granicus.if.org Git - sudo/commitdiff
If we are killed by a signal, display the name of the signal that got us.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 4 Mar 2011 21:12:40 +0000 (16:12 -0500)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 4 Mar 2011 21:12:40 +0000 (16:12 -0500)
plugins/sudoers/visudo.c

index 67dcb119f54fd79f89c02711e5ed8d16f8c12e13..deda5e7f5644f840cfa18d366a2b064d0688808e 100644 (file)
@@ -1146,10 +1146,16 @@ cleanup(int gotsignal)
 static void
 quit(int signo)
 {
+    const char *signame, *myname;
+
     cleanup(signo);
-#define        emsg     " exiting due to signal.\n"
-    if (write(STDERR_FILENO, getprogname(), strlen(getprogname())) == -1 ||
-       write(STDERR_FILENO, emsg, sizeof(emsg) - 1) == -1)
+#define        emsg     " exiting due to signal: "
+    myname = getprogname();
+    signame = strsignal(signo);
+    if (write(STDERR_FILENO, myname, strlen(myname)) == -1 ||
+       write(STDERR_FILENO, emsg, sizeof(emsg) - 1) == -1 ||
+       write(STDERR_FILENO, signame, strlen(signame)) == -1 ||
+       write(STDERR_FILENO, "\n", 1) == -1)
        /* shut up glibc */;
     _exit(signo);
 }