diff options
Diffstat (limited to 'networking/httpd.c')
-rw-r--r-- | networking/httpd.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/networking/httpd.c b/networking/httpd.c index 251eee01b..60dbba4d6 100644 --- a/networking/httpd.c +++ b/networking/httpd.c | |||
@@ -1172,7 +1172,6 @@ static int sendCgi(const char *url, | |||
1172 | *script = '/'; /* is directory, find next '/' */ | 1172 | *script = '/'; /* is directory, find next '/' */ |
1173 | } | 1173 | } |
1174 | addEnv("PATH", "INFO", script); /* set /PATH_INFO or NULL */ | 1174 | addEnv("PATH", "INFO", script); /* set /PATH_INFO or NULL */ |
1175 | addEnv("PATH", "", getenv("PATH")); | ||
1176 | addEnv("REQUEST", "METHOD", request); | 1175 | addEnv("REQUEST", "METHOD", request); |
1177 | if(urlArgs) { | 1176 | if(urlArgs) { |
1178 | char *uri = alloca(strlen(purl) + 2 + strlen(urlArgs)); | 1177 | char *uri = alloca(strlen(purl) + 2 + strlen(urlArgs)); |
@@ -1996,6 +1995,19 @@ int httpd_main(int argc, char *argv[]) | |||
1996 | # endif | 1995 | # endif |
1997 | #endif | 1996 | #endif |
1998 | 1997 | ||
1998 | #ifdef CONFIG_FEATURE_HTTPD_CGI | ||
1999 | { | ||
2000 | char *p = getenv("PATH"); | ||
2001 | |||
2002 | if(p) | ||
2003 | p = bb_xstrdup(p); | ||
2004 | clearenv(); | ||
2005 | if(p) { | ||
2006 | setenv("PATH", p, 0); | ||
2007 | } | ||
2008 | } | ||
2009 | #endif | ||
2010 | |||
1999 | #ifdef CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP | 2011 | #ifdef CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP |
2000 | sighup_handler(0); | 2012 | sighup_handler(0); |
2001 | #else | 2013 | #else |