fix: forbid moving a folder into a subfolder of itself

Signed-off-by: Robin Appelman <robin@icewind.nl>
forbid-moving-subfolder-24
Robin Appelman 1 week ago
parent af11616872
commit 943f7fe350
No known key found for this signature in database
GPG Key ID: 42B69D8A64526EFB

@ -57,6 +57,7 @@ use OCP\Constants;
use OCP\Files\Cache\ICacheEntry;
use OCP\Files\EmptyFileNameException;
use OCP\Files\FileNameTooLongException;
use OCP\Files\ForbiddenException;
use OCP\Files\InvalidCharacterInPathException;
use OCP\Files\InvalidDirectoryException;
use OCP\Files\InvalidPathException;
@ -762,6 +763,11 @@ class View {
public function rename($path1, $path2) {
$absolutePath1 = Filesystem::normalizePath($this->getAbsolutePath($path1));
$absolutePath2 = Filesystem::normalizePath($this->getAbsolutePath($path2));
if (str_starts_with($absolutePath2, $absolutePath1 . '/')) {
throw new ForbiddenException("Moving a folder into a child folder is forbidden", false);
}
$result = false;
if (
Filesystem::isValidPath($path2)

Loading…
Cancel
Save