diff --git a/lib/private/Files/Storage/Wrapper/Encryption.php b/lib/private/Files/Storage/Wrapper/Encryption.php index 4bc5ec8c81357..03d4038186fef 100644 --- a/lib/private/Files/Storage/Wrapper/Encryption.php +++ b/lib/private/Files/Storage/Wrapper/Encryption.php @@ -671,6 +671,8 @@ private function copyBetweenStorage( } } } else { + $source = false; + $target = false; try { $source = $sourceStorage->fopen($sourceInternalPath, 'r'); $target = $this->fopen($targetInternalPath, 'w'); @@ -680,10 +682,10 @@ private function copyBetweenStorage( [, $result] = \OC_Helper::streamCopy($source, $target); } } finally { - if (isset($source) && $source !== false) { + if ($source !== false) { fclose($source); } - if (isset($target) && $target !== false) { + if ($target !== false) { fclose($target); } } diff --git a/tests/lib/Files/ViewTest.php b/tests/lib/Files/ViewTest.php index a6a7722f363bb..7d8c9e2480282 100644 --- a/tests/lib/Files/ViewTest.php +++ b/tests/lib/Files/ViewTest.php @@ -1185,6 +1185,9 @@ private function doTestCopyRenameFail($operation) { $storage2->method('writeStream') ->willThrowException(new GenericFileException('Failed to copy stream')); + $storage2->method('fopen') + ->willReturn(false); + $storage1->mkdir('sub'); $storage1->file_put_contents('foo.txt', '0123456789ABCDEFGH'); $storage1->mkdir('dirtomove');