diff --git a/lib/private/Files/Storage/Wrapper/DirPermissionsMask.php b/lib/private/Files/Storage/Wrapper/DirPermissionsMask.php index 7a8ff75f246..6ab777f309f 100644 --- a/lib/private/Files/Storage/Wrapper/DirPermissionsMask.php +++ b/lib/private/Files/Storage/Wrapper/DirPermissionsMask.php @@ -88,7 +88,15 @@ class DirPermissionsMask extends PermissionsMask { } public function rename($source, $target): bool { - if (!($this->isDeletable($source) || $this->isUpdatable($source))) { + $isPartialUploadFile = dirname($source) === dirname($target) + && strpos($source, '.ocTransferId') > 0; + + if ( + !($isPartialUploadFile + || $this->isUpdatable($source) + || $this->isDeletable($source) + ) + ) { return false; }