]> granicus.if.org Git - sudo/commitdiff
In Exit() when used as a signal handler, emsg is a pointer so
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 5 Apr 2004 00:27:05 +0000 (00:27 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 5 Apr 2004 00:27:05 +0000 (00:27 +0000)
sizeof() is wrong so make it a #define instead.  Also avoid using
a negative exit value.  Found by Aaron Campbell

visudo.c

index 75943cc341fc56b595e2cbed0133ead505dadf0a..a12a18ccad04f45a729977147fd2d3eb6043a659 100644 (file)
--- a/visudo.c
+++ b/visudo.c
@@ -672,14 +672,14 @@ static RETSIGTYPE
 Exit(sig)
     int sig;
 {
-    char *emsg = " exiting due to signal.\n";
+#define        emsg     " exiting due to signal.\n"
 
     (void) unlink(stmp);
 
     if (sig > 0) {
        write(STDERR_FILENO, getprogname(), strlen(getprogname()));
        write(STDERR_FILENO, emsg, sizeof(emsg) - 1);
-       _exit(-sig);
+       _exit(sig);
     }
     exit(-sig);
 }