putenv("VAR=") does not empty VAR on win32
| Bug #19613 | putenv("VAR=") does not empty VAR on win32 | ||||
|---|---|---|---|---|---|
| Submitted: | 2002-09-26 08:32 UTC | Modified: | 2003-07-24 03:10 UTC | ||
| From: | six at aegis-corp dot org | Assigned: | sfox (profile) | ||
| Status: | Closed | Package: | Other web server | ||
| PHP Version: | 4.2.3 | OS: | Win2K | ||
| Private report: | No | CVE-ID: | None | ||
[2002-09-26 08:32 UTC] six at aegis-corp dot org
It appears that in Win32 (with php-cli.exe), the putenv function works quite strangely.
When you call putenv("VAR="), this sould empty the "VAR" environment variable. And it almost does it, because a call to getenv("VAR") will return an empty string. However, the real env is not changed and VAR is still set to its old value.
This small script (and its output) demonstrate the problem :
C:\php>php-cli
<?
putenv("TEST=ZOB1");
echo getenv("TEST")."\n"; // "ZOB1"
system("echo %TEST%"); // "ZOB1"
putenv("TEST=");
echo getenv("TEST")."\n"; // ""
system("echo %TEST%"); // "ZOB1" <- should be empty !
putenv("TEST=ZOB2");
echo getenv("TEST")."\n"; // "ZOB2"
system("echo %TEST%"); // "ZOB2"
?>
ZOB1
ZOB1
ZOB1
ZOB2
ZOB2
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2003-06-23 02:10 UTC] ruta at teltec dot de
[2003-07-24 03:10 UTC] zeev@php.net