Issue #3036494 by Berdir, alexpott, rgpublic, cilefen, kerasai, regilero: Race condition in ImageStyle::createDerivative()
(cherry picked from commit f9fcde32ab
)
merge-requests/220/head
parent
93dc755200
commit
e3ceb612be
|
@ -535,12 +535,22 @@ class FileSystem implements FileSystemInterface {
|
|||
}
|
||||
|
||||
if (!is_dir($directory)) {
|
||||
if (!($options & static::CREATE_DIRECTORY)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Let mkdir() recursively create directories and use the default
|
||||
// directory permissions.
|
||||
if ($options & static::CREATE_DIRECTORY) {
|
||||
return @$this->mkdir($directory, NULL, TRUE);
|
||||
$success = @$this->mkdir($directory, NULL, TRUE);
|
||||
if ($success) {
|
||||
return TRUE;
|
||||
}
|
||||
// If the operation failed, check again if the directory was created
|
||||
// by another process/server, only report a failure if not. In this case
|
||||
// we still need to ensure the directory is writable.
|
||||
if (!is_dir($directory)) {
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$writable = is_writable($directory);
|
||||
|
|
Loading…
Reference in New Issue