Skip to content

Commit be41b18

Browse files
authored
Merge pull request #23895 from nextcloud/backport/23799/stable19-minimal
[stable19] fix potentially passing null to events where IUser is expected
2 parents 2223a11 + e23af83 commit be41b18

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

apps/user_ldap/lib/Jobs/UpdateGroups.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
use OCP\Group\Events\UserAddedEvent;
4848
use OCP\Group\Events\UserRemovedEvent;
4949
use OCP\ILogger;
50+
use OCP\IUser;
5051

5152
class UpdateGroups extends \OC\BackgroundJob\TimedJob {
5253
private static $groupsFromDB;
@@ -116,15 +117,19 @@ private static function handleKnownGroups($groups) {
116117
$groupObject = $groupManager->get($group);
117118
foreach (array_diff($knownUsers, $actualUsers) as $removedUser) {
118119
$userObject = $userManager->get($removedUser);
119-
$dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject));
120+
if ($userObject instanceof IUser) {
121+
$dispatcher->dispatchTyped(new UserRemovedEvent($groupObject, $userObject));
122+
}
120123
\OCP\Util::writeLog('user_ldap',
121124
'bgJ "updateGroups" – "'.$removedUser.'" removed from "'.$group.'".',
122125
ILogger::INFO);
123126
$hasChanged = true;
124127
}
125128
foreach (array_diff($actualUsers, $knownUsers) as $addedUser) {
126129
$userObject = $userManager->get($addedUser);
127-
$dispatcher->dispatchTyped(new UserAddedEvent($groupObject, $userObject));
130+
if ($userObject instanceof IUser) {
131+
$dispatcher->dispatchTyped(new UserAddedEvent($groupObject, $userObject));
132+
}
128133
\OCP\Util::writeLog('user_ldap',
129134
'bgJ "updateGroups" – "'.$addedUser.'" added to "'.$group.'".',
130135
ILogger::INFO);

0 commit comments

Comments
 (0)