#23069 [Ctl]: [critical] tempnam creates readonly file
| From: | wez@php.net | Date: | Fri, 11 Apr 2003 09:09:45 +0000 |
| Subject: | #23069 [Ctl]: [critical] tempnam creates readonly file | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-37556@lists.php.net to get a copy of this message | ||
ID: 23069
Updated by: wez@php.net
Reported By: paj at pearfr dot org
Status: Critical
Bug Type: CGI related
Operating System: Windows 2000
PHP Version: 4CVS-2003-04-06 (stable)
New Comment:
Can you try this patch? untested, but should work...
Index: main/php_open_temporary_file.c
===================================================================
RCS file: /repository/php4/main/php_open_temporary_file.c,v
retrieving revision 1.25
diff -u -p -r1.25 php_open_temporary_file.c
--- main/php_open_temporary_file.c 18 Mar 2003 16:40:29 -0000
1.25
+++ main/php_open_temporary_file.c 11 Apr 2003 09:09:15 -0000
@@ -132,7 +132,8 @@ static int php_do_open_temporary_file(co
#ifdef PHP_WIN32
if (GetTempFileName(path, pfx, 0, opened_path)) {
- fd = VCWD_OPEN(opened_path, open_flags);
+ VCWD_CHMOD(opened_path, 0600);
+ fd = VCWD_OPEN_MODE(opened_path, open_flags, 0600);
}
#elif defined(NETWARE)
/* Using standard mktemp() implementation for NetWare */
Previous Comments:
------------------------------------------------------------------------
[2003-04-08 02:28:44] pajoye@php.net
It is critical in general too, not only for PEAR, afaik, this is the
only way to get a safe temp name and seems to be widely used.
I cannot reproduce it with the stable snapshot from 03/4/4 on w2K CLI.
hth
pierre
------------------------------------------------------------------------
[2003-04-07 16:14:50] edink@php.net
Just forgot to mention that I have reproduced this using latest win32
cli.
------------------------------------------------------------------------
[2003-04-07 16:13:00] edink@php.net
Marking this critical as it prevents much anticipated pear on windows
release.
------------------------------------------------------------------------
[2003-04-06 07:53:05] paj at pearfr dot org
tempnam() creates a readonly file under Windows 2K using Apache 1.3.27,
php as CGI. The file permissions are correct but it sets the RO flag,
which is not really usefull ;)
pierre
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23069&edit=1