Change UID to ORIG_UID because bash defines UID.
[ppp.git] / pppd / main.c
index 8bb5caa512295b06c2b7b97684e791857fe7947a..7072d0a871fabcf9b615e3df1b179ff41ae2aa1d 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: main.c,v 1.47 1998/03/30 06:25:34 paulus Exp $";
+static char rcsid[] = "$Id: main.c,v 1.50 1998/09/13 23:38:49 paulus Exp $";
 #endif
 
 #include <stdio.h>
@@ -199,7 +199,7 @@ main(argc, argv)
     uid = getuid();
     privileged = uid == 0;
     sprintf(numbuf, "%d", uid);
-    script_setenv("UID", numbuf);
+    script_setenv("ORIG_UID", numbuf);
 
     /*
      * Initialize to the standard option set, then parse, in order,
@@ -1037,6 +1037,11 @@ static void
 bad_signal(sig)
     int sig;
 {
+    static int crashed = 0;
+
+    if (crashed)
+       _exit(127);
+    crashed = 1;
     syslog(LOG_ERR, "Fatal signal %d", sig);
     if (conn_running)
        kill_my_pg(SIGTERM);
@@ -1287,10 +1292,9 @@ pr_log __V((void *arg, char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-    vsprintf(buf, fmt, pvar);
+    n = vfmtmsg(buf, sizeof(buf), fmt, pvar);
     va_end(pvar);
 
-    n = strlen(buf);
     if (linep + n + 1 > line + sizeof(line)) {
        syslog(LOG_DEBUG, "%s", line);
        linep = line;