Skip to content

Commit c72eace

Browse files
[Filesystem] Fix false positive in ->remove()
1 parent 6d5dbf7 commit c72eace

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/Symfony/Component/Filesystem/Filesystem.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ public function remove($files)
156156
$error = error_get_last();
157157
throw new IOException(sprintf('Failed to remove directory "%s": %s.', $file, $error['message']));
158158
}
159-
} elseif ($this->exists($file)) {
160-
if (!@unlink($file)) {
161-
$error = error_get_last();
159+
} elseif (!@unlink($file)) {
160+
$error = error_get_last();
161+
if (file_exists($file)) {
162162
throw new IOException(sprintf('Failed to remove file "%s": %s.', $file, $error['message']));
163163
}
164164
}

src/Symfony/Component/Filesystem/Tests/FilesystemTest.php

+1-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ public static function setUpBeforeClass()
3838
if ('\\' === DIRECTORY_SEPARATOR && null === self::$symlinkOnWindows) {
3939
$target = tempnam(sys_get_temp_dir(), 'sl');
4040
$link = sys_get_temp_dir().'/sl'.microtime(true).mt_rand();
41-
if (@symlink($target, $link)) {
42-
self::$symlinkOnWindows = @is_link($link);
41+
if (self::$symlinkOnWindows = @symlink($target, $link)) {
4342
unlink($link);
4443
}
4544
unlink($target);

0 commit comments

Comments
 (0)