diff options
author | Anatol Belski <ab@php.net> | 2015-11-05 11:58:44 +0100 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-11-05 14:46:23 +0100 |
commit | 9968129831ab0eaf92841336dc1bd6049f711d4a (patch) | |
tree | 5e38c2788855b24210e51bed2c791ac62ec8c55d | |
parent | dea14fc70782aa7c622a0ef5af9b163f042c05f9 (diff) | |
download | php-git-9968129831ab0eaf92841336dc1bd6049f711d4a.tar.gz |
don't get invalid chmod mode through
-rw-r--r-- | Zend/zend_virtual_cwd.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c index 99c3f3003d..fedd0a22ad 100644 --- a/Zend/zend_virtual_cwd.c +++ b/Zend/zend_virtual_cwd.c @@ -1566,6 +1566,20 @@ CWD_API int virtual_chmod(const char *filename, mode_t mode) /* {{{ */ return -1; } +#ifdef ZEND_WIN32 + { + mode_t _tmp = mode; + + mode = 0; + + if (_tmp & _S_IREAD) { + mode |= _S_IREAD; + } + if (_tmp & _S_IWRITE) { + mode |= _S_IWRITE; + } + } +#endif ret = chmod(new_state.cwd, mode); CWD_STATE_FREE_ERR(&new_state); |