aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2020-05-26 00:33:21 +0200
committerArthur Schiwon <blizzz@arthur-schiwon.de>2020-05-26 00:37:46 +0200
commit15008a17984c99cbf94d13b39e8f501bbe6b5698 (patch)
tree31cce8f619b826fe32b5275ea31a18b53f43490b
parent4bada5c7324d4ebf58a8ab2c8954b8e35cc883b2 (diff)
downloadnextcloud-server-15008a17984c99cbf94d13b39e8f501bbe6b5698.tar.gz
nextcloud-server-15008a17984c99cbf94d13b39e8f501bbe6b5698.zip
fixes infinitely repeating LDPA search results with PHP <= 7.2
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-rw-r--r--apps/user_ldap/lib/Access.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php
index 16013555d4e..d58106707ef 100644
--- a/apps/user_ldap/lib/Access.php
+++ b/apps/user_ldap/lib/Access.php
@@ -2049,6 +2049,12 @@ class Access extends LDAPUtility {
// of '0' is valid, because 389ds
$reOffset = ($offset - $limit) < 0 ? 0 : $offset - $limit;
$this->search($filter, $base, $attr, $limit, $reOffset, true);
+ if (!$this->hasMoreResults()) {
+ // when the cookie is reset with != 0 offset, there are no further
+ // results, so stop. This if block is not necessary with new API
+ // and can be removed with dropping PHP 7.2
+ return false;
+ }
}
if ($this->lastCookie !== '' && $offset === 0) {
//since offset = 0, this is a new search. We abandon other searches that might be ongoing.