From 186c7f1b4b3a5356458190e599faf7668ec66a30 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 13 Mar 2020 17:17:43 +0100 Subject: [PATCH] Handle unset owner in sharing Signed-off-by: Joas Schilling --- lib/private/Share20/Manager.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php index ca668e24e7f..3e22e7158ca 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 -- 2.39.5