From: Pierre Joye Date: Sat, 30 Jan 2010 20:55:01 +0000 (+0000) Subject: - fix write access check when write mode only is requested (not RW) X-Git-Tag: php-5.4.0alpha1~360 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1bbc4f1721b28865c9f475ae2672edf6360b9ba1;p=php - fix write access check when write mode only is requested (not RW) --- diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index 4058636f0e..f4727c82de 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -303,7 +303,7 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode) fAccess = bucket->is_writable; goto Finished; } - desired_access = FILE_GENERIC_READ | FILE_GENERIC_WRITE; + desired_access = FILE_GENERIC_WRITE; } else if(mode <= 4) { if(bucket != NULL && bucket->is_rvalid) { fAccess = bucket->is_readable; @@ -348,6 +348,11 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode) else if(desired_access == FILE_GENERIC_WRITE) { bucket->is_wvalid = 1; bucket->is_writable = fAccess; + } else if (desired_access == FILE_GENERIC_READ | FILE_GENERIC_WRITE) { + bucket->is_rvalid = 1; + bucket->is_readable = fAccess; + bucket->is_wvalid = 1; + bucket->is_writable = fAccess; } }