Fixed bug #44501 (LOCK_EX mode in file_put_contents() is impropertly

handled in combination with url wrappers)
This commit is contained in:
Ilia Alshanetsky 2008-03-26 23:06:47 +00:00
parent 073b6eac48
commit 17d22a50d9

View File

@ -596,6 +596,13 @@ PHP_FUNCTION(file_put_contents)
if (flags & PHP_FILE_APPEND) {
mode[0] = 'a';
} else if (flags & LOCK_EX) {
/* check to make sure we are dealing with a regular file */
if (php_memnstr(filename, "://", sizeof("://") - 1, filename + filename_len)) {
if (strncasecmp(filename, "file://", sizeof("file://") - 1)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Exclusive locks may only be set for regular files");
RETURN_FALSE;
}
}
mode[0] = 'c';
}
mode[2] = '\0';