From 59f9183ea18921d188bc9fe46dcc2bcac41372e6 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 30 Oct 2020 15:38:19 +0100 Subject: [PATCH] fix potentially passing null to events where IUser is expected Signed-off-by: Arthur Schiwon --- apps/user_ldap/lib/Jobs/UpdateGroups.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/user_ldap/lib/Jobs/UpdateGroups.php b/apps/user_ldap/lib/Jobs/UpdateGroups.php index 8cbac261e9..85615a4618 100644 --- a/apps/user_ldap/lib/Jobs/UpdateGroups.php +++ b/apps/user_ldap/lib/Jobs/UpdateGroups.php @@ -47,6 +47,7 @@ use OCP\EventDispatcher\IEventDispatcher; use OCP\Group\Events\UserAddedEvent; use OCP\Group\Events\UserRemovedEvent; use OCP\ILogger; +use OCP\IUser; class UpdateGroups extends \OC\BackgroundJob\TimedJob { private static $groupsFromDB; @@ -116,7 +117,9 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { $groupObject = $groupManager->get($group); foreach (array_diff($knownUsers, $actualUsers) as $removedUser) { $userObject = $userManager->get($removedUser); - $dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject)); + if ($userObject instanceof IUser) { + $dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject)); + } \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – "'.$removedUser.'" removed from "'.$group.'".', ILogger::INFO); @@ -124,7 +127,9 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { } foreach (array_diff($actualUsers, $knownUsers) as $addedUser) { $userObject = $userManager->get($addedUser); - $dispatcher->dispatchTyped(new UserAddedEvent($groupObject, $userObject)); + if ($userObject instanceof IUser) { + $dispatcher->dispatchTyped(new UserAddedEvent($groupObject, $userObject)); + } \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – "'.$addedUser.'" added to "'.$group.'".', ILogger::INFO);