diff options
author | Andi Gutmans <andi@php.net> | 2004-07-10 07:46:17 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2004-07-10 07:46:17 +0000 |
commit | e5cfb1d05cf10fa694f231dae33ccb03ab8f74c8 (patch) | |
tree | 65252174d1cad948046778306ce3ba09d3d78682 /sapi | |
parent | 41b639fffebd099699cdf9c3231539d72602ce38 (diff) | |
download | php-git-e5cfb1d05cf10fa694f231dae33ccb03ab8f74c8.tar.gz |
- Better stability during premature shutdown of request startup
Diffstat (limited to 'sapi')
-rw-r--r-- | sapi/apache/mod_php5.c | 15 | ||||
-rw-r--r-- | sapi/apache_hooks/mod_php5.c | 15 |
2 files changed, 16 insertions, 14 deletions
diff --git a/sapi/apache/mod_php5.c b/sapi/apache/mod_php5.c index 408ad2ed2e..d477a141a7 100644 --- a/sapi/apache/mod_php5.c +++ b/sapi/apache/mod_php5.c @@ -466,7 +466,7 @@ static void init_request_info(TSRMLS_D) request_rec *r = ((request_rec *) SG(server_context)); char *content_length = (char *) table_get(r->subprocess_env, "CONTENT_LENGTH"); const char *authorization=NULL; - char *tmp; + char *tmp, *tmp_user; SG(request_info).query_string = r->args; SG(request_info).path_translated = r->filename; @@ -483,15 +483,16 @@ static void init_request_info(TSRMLS_D) && (!PG(safe_mode) || (PG(safe_mode) && !auth_type(r))) && !strcasecmp(getword(r->pool, &authorization, ' '), "Basic")) { tmp = uudecode(r->pool, authorization); - SG(request_info).auth_user = getword_nulls_nc(r->pool, &tmp, ':'); + SG(request_info).auth_user = NULL; + tmp_user = getword_nulls_nc(r->pool, &tmp, ':'); if (SG(request_info).auth_user) { - r->connection->user = pstrdup(r->connection->pool, SG(request_info).auth_user); + r->connection->user = pstrdup(r->connection->pool, tmp_user); r->connection->ap_auth_type = "Basic"; - SG(request_info).auth_user = estrdup(SG(request_info).auth_user); + SG(request_info).auth_user = estrdup(tmp_user); } - SG(request_info).auth_password = tmp; - if (SG(request_info).auth_password) { - SG(request_info).auth_password = estrdup(SG(request_info).auth_password); + SG(request_info).auth_password = NULL; + if (tmp) { + SG(request_info).auth_password = estrdup(tmp); } } else { SG(request_info).auth_user = NULL; diff --git a/sapi/apache_hooks/mod_php5.c b/sapi/apache_hooks/mod_php5.c index b15f360475..547aed7400 100644 --- a/sapi/apache_hooks/mod_php5.c +++ b/sapi/apache_hooks/mod_php5.c @@ -564,7 +564,7 @@ static void init_request_info(TSRMLS_D) request_rec *r = ((request_rec *) SG(server_context)); char *content_length = (char *) table_get(r->subprocess_env, "CONTENT_LENGTH"); const char *authorization=NULL; - char *tmp; + char *tmp, *tmp_user; SG(request_info).query_string = r->args; SG(request_info).path_translated = r->filename; @@ -581,15 +581,16 @@ static void init_request_info(TSRMLS_D) && !auth_type(r) && !strcasecmp(getword(r->pool, &authorization, ' '), "Basic")) { tmp = uudecode(r->pool, authorization); - SG(request_info).auth_user = getword_nulls_nc(r->pool, &tmp, ':'); + SG(request_info).auth_user = NULL; + tmp_user = getword_nulls_nc(r->pool, &tmp, ':'); if (SG(request_info).auth_user) { - r->connection->user = pstrdup(r->connection->pool, SG(request_info).auth_user); + r->connection->user = pstrdup(r->connection->pool, tmp_user); r->connection->ap_auth_type = "Basic"; - SG(request_info).auth_user = estrdup(SG(request_info).auth_user); + SG(request_info).auth_user = estrdup(tmp_user); } - SG(request_info).auth_password = tmp; - if (SG(request_info).auth_password) { - SG(request_info).auth_password = estrdup(SG(request_info).auth_password); + SG(request_info).auth_password = NULL; + if (tmp) { + SG(request_info).auth_password = estrdup(tmp); } } else { SG(request_info).auth_user = NULL; |