diff --git a/lib/private/Files/Storage/Wrapper/PermissionsMask.php b/lib/private/Files/Storage/Wrapper/PermissionsMask.php index b025476f3a45e..4eb0359699bcc 100644 --- a/lib/private/Files/Storage/Wrapper/PermissionsMask.php +++ b/lib/private/Files/Storage/Wrapper/PermissionsMask.php @@ -62,7 +62,9 @@ public function getPermissions(string $path): int { public function rename(string $source, string $target): bool { //This is a rename of the transfer file to the original file - if (dirname($source) === dirname($target) && strpos($source, '.ocTransferId') > 0) { + $sourceDir = dirname($source); + $targetDir = dirname($target); + if (($sourceDir === $targetDir || $sourceDir === dirname($targetDir)) && strpos($source, '.ocTransferId') > 0) { return $this->checkMask(Constants::PERMISSION_CREATE) and parent::rename($source, $target); } return $this->checkMask(Constants::PERMISSION_UPDATE) and parent::rename($source, $target);