Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2020-04-15 21:20:29 +0300
committerGitHub <noreply@github.com>2020-04-15 21:20:29 +0300
commit65c6680e86856a93798975ba770af2ba30c6224d (patch)
tree37ecb3e7c3b49b2effef328a1ada72d6ae5d787a
parentae2b5a38ea5cb687e6d8a9741bac62d842d6d520 (diff)
parenta717b385767e6f7572b70383086593b9308f5502 (diff)
Merge pull request #20483 from nextcloud/backport/19936/stable18
[stable18] Handle unset owner in sharing
-rw-r--r--lib/private/Share20/Manager.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index 82e948344c1..8301ae3b4ad 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -302,7 +302,7 @@ class Manager implements IManager {
$isFederatedShare = $share->getNode()->getStorage()->instanceOfStorage('\OCA\Files_Sharing\External\Storage');
$permissions = 0;
$mount = $share->getNode()->getMountPoint();
- if (!$isFederatedShare && $share->getNode()->getOwner()->getUID() !== $share->getSharedBy()) {
+ if (!$isFederatedShare && $share->getNode()->getOwner() && $share->getNode()->getOwner()->getUID() !== $share->getSharedBy()) {
// When it's a reshare use the parent share permissions as maximum
$userMountPointId = $mount->getStorageRootId();
$userMountPoints = $userFolder->getById($userMountPointId);
@@ -711,7 +711,11 @@ class Manager implements IManager {
}
$share->setShareOwner($parent->getOwner()->getUID());
} else {
- $share->setShareOwner($share->getNode()->getOwner()->getUID());
+ if ($share->getNode()->getOwner()) {
+ $share->setShareOwner($share->getNode()->getOwner()->getUID());
+ } else {
+ $share->setShareOwner($share->getSharedBy());
+ }
}
//Verify share type