umask is not being restored when each request is finished. no fixed bug #36630
| Bug #40606 | umask is not being restored when each request is finished. no fixed bug #36630 | ||||
|---|---|---|---|---|---|
| Submitted: | 2007-02-23 15:42 UTC | Modified: | 2007-02-23 16:22 UTC | ||
| From: | support at nethost dot cz | Assigned: | |||
| Status: | Closed | Package: | *Directory/Filesystem functions | ||
| PHP Version: | 5.2.1 | OS: | unix-gentoo | ||
| Private report: | No | CVE-ID: | None | ||
[2007-02-23 15:42 UTC] support at nethost dot cz
Description: ------------ >> Bug #36630 umask is not being restored when each equest is finished. see for details in bug #36630. this bug not fixed successfully, in file.c is bug in if (BG(umask) != -1) { BG(umask) = oldumask; } instead if (BG(umask) == -1) { /* yes == , no != */ BG(umask) = oldumask; } it fixes, but for clean code i move initializing BG(umask) = -1; from basic_globals_ctor to PHP_RINIT_FUNCTION(basic) (finalizing is in PHP_RSHUTDOWN_FUNCTION(basic)) this bug is only for sapi apache2 handler-module (apache1 has workaround in sapi code). Or may implement same workaround in apache2 handler module. i try daily snapshot, and last version, all is bad fixed. after fixing all is ok for testing code <?=echo sprintf("%04o",umask(0111));?> Reproduce code: --------------- <?=echo sprintf("%04o",umask(0111));?>
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2007-02-23 15:54 UTC] tony2001@php.net
[2007-02-23 15:57 UTC] support at nethost dot cz
[2007-02-23 16:22 UTC] tony2001@php.net