diff options
author | Dmitry Stogov <dmitry@php.net> | 2007-02-19 13:21:14 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2007-02-19 13:21:14 +0000 |
commit | 7c776110570d1903e972f76fc16e67a8dee7e35b (patch) | |
tree | 9b762c5e1fa90a71719cb6ef55720c95038e87e0 | |
parent | 772e35e99a6646b7520e442047e33f699cdda0dc (diff) | |
download | php-git-7c776110570d1903e972f76fc16e67a8dee7e35b.tar.gz |
Fixed fcgi_putenv() semantic with NULL value
-rw-r--r-- | sapi/cgi/fastcgi.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sapi/cgi/fastcgi.c b/sapi/cgi/fastcgi.c index 06885bc244..639d348a7d 100644 --- a/sapi/cgi/fastcgi.c +++ b/sapi/cgi/fastcgi.c @@ -975,14 +975,15 @@ char* fcgi_getenv(fcgi_request *req, const char* var, int var_len) char* fcgi_putenv(fcgi_request *req, char* var, int var_len, char* val) { if (var && req) { - char **ret; - if (val == NULL) { - val = ""; - } - val = strdup(val); - if (zend_hash_update(&req->env, var, var_len+1, &val, sizeof(char*), (void**)&ret) == SUCCESS) { - return *ret; + zend_hash_del(&req->env, var, var_len+1); + } else { + char **ret; + + val = strdup(val); + if (zend_hash_update(&req->env, var, var_len+1, &val, sizeof(char*), (void**)&ret) == SUCCESS) { + return *ret; + } } } return NULL; |