Vodz, last_patch_104
authorGlenn L McGrath <bug1@ihug.co.nz>
Wed, 10 Sep 2003 23:35:45 +0000 (23:35 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Wed, 10 Sep 2003 23:35:45 +0000 (23:35 -0000)
networking/httpd.c
sysklogd/syslogd.c

index 251eee01b63555d46d2b60c4afa9cf06baf29041..60dbba4d6e70b2a235ed040d82226a944b7a72a5 100644 (file)
@@ -1172,7 +1172,6 @@ static int sendCgi(const char *url,
        *script = '/';          /* is directory, find next '/' */
       }
       addEnv("PATH", "INFO", script);   /* set /PATH_INFO or NULL */
-      addEnv("PATH",           "",         getenv("PATH"));
       addEnv("REQUEST",        "METHOD",   request);
       if(urlArgs) {
        char *uri = alloca(strlen(purl) + 2 + strlen(urlArgs));
@@ -1996,6 +1995,19 @@ int httpd_main(int argc, char *argv[])
 # endif
 #endif
 
+#ifdef CONFIG_FEATURE_HTTPD_CGI
+   {
+       char *p = getenv("PATH");
+
+       if(p)
+               p = bb_xstrdup(p);
+       clearenv();
+       if(p) {
+               setenv("PATH", p, 0);
+       }
+   }
+#endif
+
 #ifdef CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
   sighup_handler(0);
 #else
index ca6aee30719af371e1aa03a673abd45ffddef4ea..a7712d445618bd45b0e74eec97ba55ad299b7494 100644 (file)
@@ -56,7 +56,7 @@
 /* Path to the unix socket */
 static char lfile[MAXPATHLEN];
 
-static char *logFilePath = __LOG_FILE;
+static const char *logFilePath = __LOG_FILE;
 
 /* interval between marks in seconds */
 static int MarkInterval = 20 * 60;
@@ -588,7 +588,7 @@ extern int syslogd_main(int argc, char **argv)
                        doFork = FALSE;
                        break;
                case 'O':
-                       logFilePath = bb_xstrdup(optarg);
+                       logFilePath = optarg;
                        break;
 #ifdef CONFIG_FEATURE_REMOTE_LOG
                case 'R':
@@ -623,12 +623,13 @@ extern int syslogd_main(int argc, char **argv)
        /* Store away localhost's name before the fork */
        gethostname(LocalHostName, sizeof(LocalHostName));
        if ((p = strchr(LocalHostName, '.'))) {
-               *p++ = '\0';
+               *p = '\0';
        }
 
        umask(0);
 
-       if ((doFork == TRUE) && (daemon(0, 1) < 0)) {
+       if (doFork == TRUE) {
+               if(daemon(0, 1) < 0)
                bb_perror_msg_and_die("daemon");
 #if defined(__uClinux__)
                vfork_daemon_rexec(argc, argv, "-n");