summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>2019-11-21 07:08:33 +0100
committerGitHub <noreply@github.com>2019-11-21 07:08:33 +0100
commitb9dccf592963aa84d5c145367d5402d6ef114fd7 (patch)
tree4f134ef57756a6f3892264c2a8d94d035e5913fc /apps/user_ldap
parent37ef64d24e0b9fadc44b56061b13623866170858 (diff)
parent213016f7589e6eec75f3c5f4d234fce5c7e83203 (diff)
downloadnextcloud-server-b9dccf592963aa84d5c145367d5402d6ef114fd7.tar.gz
nextcloud-server-b9dccf592963aa84d5c145367d5402d6ef114fd7.zip
uid can be false when the user record does not exit (#18030)
uid can be false when the user record does not exit
Diffstat (limited to 'apps/user_ldap')
-rw-r--r--apps/user_ldap/lib/Group_LDAP.php20
1 files changed, 12 insertions, 8 deletions
diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php
index 0b55f8a4e92..0a348c2ee64 100644
--- a/apps/user_ldap/lib/Group_LDAP.php
+++ b/apps/user_ldap/lib/Group_LDAP.php
@@ -739,20 +739,24 @@ class Group_LDAP extends BackendUtility implements \OCP\GroupInterface, IGroupLD
if ($result === false) {
\OCP\Util::writeLog('user_ldap', 'No uid attribute found for DN ' . $userDN . ' on '.
$this->access->connection->ldapHost, ILogger::DEBUG);
+ $uid = false;
+ } else {
+ $uid = $result[0];
}
- $uid = $result[0];
} else {
// just in case
$uid = $userDN;
}
- if(isset($this->cachedGroupsByMember[$uid])) {
- $groups = array_merge($groups, $this->cachedGroupsByMember[$uid]);
- } else {
- $groupsByMember = array_values($this->getGroupsByMember($uid));
- $groupsByMember = $this->access->nextcloudGroupNames($groupsByMember);
- $this->cachedGroupsByMember[$uid] = $groupsByMember;
- $groups = array_merge($groups, $groupsByMember);
+ if($uid !== false) {
+ if (isset($this->cachedGroupsByMember[$uid])) {
+ $groups = array_merge($groups, $this->cachedGroupsByMember[$uid]);
+ } else {
+ $groupsByMember = array_values($this->getGroupsByMember($uid));
+ $groupsByMember = $this->access->nextcloudGroupNames($groupsByMember);
+ $this->cachedGroupsByMember[$uid] = $groupsByMember;
+ $groups = array_merge($groups, $groupsByMember);
+ }
}
if($primaryGroup !== false) {