#40606 [NEW]: umask is not being restored when each request is finished. no fixed bug #36630
From: support at nethost dot cz Operating system: unix-gentoo PHP version: 5.2.1 PHP Bug Type: *Directory/Filesystem functions Bug description: umask is not being restored when each request is finished. no fixed bug #36630 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));? -- Edit bug report at http://bugs.php.net/?id=40606edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40606r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40606r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40606r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40606r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40606r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40606r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=40606r=needscript Try newer version:http://bugs.php.net/fix.php?id=40606r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40606r=support Expected behavior:http://bugs.php.net/fix.php?id=40606r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40606r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40606r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40606r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40606r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40606r=dst IIS Stability:http://bugs.php.net/fix.php?id=40606r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40606r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40606r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40606r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=40606r=mysqlcfg
#40606 [Fbk-Opn]: umask is not being restored when each request is finished. no fixed bug #36630
ID: 40606 User updated by: support at nethost dot cz Reported By: support at nethost dot cz -Status: Feedback +Status: Open Bug Type: *Directory/Filesystem functions Operating System: unix-gentoo PHP Version: 5.2.1 New Comment: code is same as for bug 36630, as below, simple, but functional, ?=echo sprintf(%04o,umask(0111));? expected result is (with default umask 070) 0070 0070 0070 and not 0070 0070 0070 0111 0070 0111 - there is used same process Previous Comments: [2007-02-23 15:54:01] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with ?php and ends with ?, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. [2007-02-23 15:42:32] 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));? -- Edit this bug report at http://bugs.php.net/?id=40606edit=1