diff --git a/lib/ldaplib.php b/lib/ldaplib.php index f33306888c9..8f9adbaa38b 100644 --- a/lib/ldaplib.php +++ b/lib/ldaplib.php @@ -241,9 +241,11 @@ function ldap_find_userdn($ldapconnection, $username, $contexts, $objectclass, $ } if ($search_sub) { - $ldap_result = ldap_search($ldapconnection, $context, - '(&'.$objectclass.'('.$search_attrib.'='.ldap_filter_addslashes($username).'))', - array($search_attrib)); + if (!$ldap_result = @ldap_search($ldapconnection, $context, + '(&'.$objectclass.'('.$search_attrib.'='.ldap_filter_addslashes($username).'))', + array($search_attrib))) { + break; // Not found in this context. + } } else { $ldap_result = ldap_list($ldapconnection, $context, '(&'.$objectclass.'('.$search_attrib.'='.ldap_filter_addslashes($username).'))',