diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2020-05-26 00:33:21 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2020-05-26 00:37:46 +0200 |
commit | 15008a17984c99cbf94d13b39e8f501bbe6b5698 (patch) | |
tree | 31cce8f619b826fe32b5275ea31a18b53f43490b | |
parent | 4bada5c7324d4ebf58a8ab2c8954b8e35cc883b2 (diff) | |
download | nextcloud-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.php | 6 |
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. |