Browse Source

Fix fail when keys/files folder already exists

Fixes an issue with transfer ownership in move mode where the folder
"files_encryption/keys/files" already exists.

Instead of failing, its existence is checked before calling mkdir.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Vincent Petry 2 years ago
parent
commit
be590df588
1 changed files with 5 additions and 1 deletions
  1. 5 1
      lib/private/Files/Storage/Wrapper/Encryption.php

+ 5 - 1
lib/private/Files/Storage/Wrapper/Encryption.php

@@ -768,7 +768,11 @@ class Encryption extends Wrapper {
 
 		if ($sourceStorage->is_dir($sourceInternalPath)) {
 			$dh = $sourceStorage->opendir($sourceInternalPath);
-			$result = $this->mkdir($targetInternalPath);
+			if (!$this->is_dir($targetInternalPath)) {
+				$result = $this->mkdir($targetInternalPath);
+			} else {
+				$result = true;
+			}
 			if (is_resource($dh)) {
 				while ($result and ($file = readdir($dh)) !== false) {
 					if (!Filesystem::isIgnoredDir($file)) {