From: Ondřej Kuzník Date: Wed, 21 Jun 2023 09:34:32 +0000 (+0100) Subject: ITS#10060 Return tag of last message if all=LDAP_MSG_ALL X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3676f3ad69f67256b9657ca3fd590248cda5fa5c;p=thirdparty%2Fopenldap.git ITS#10060 Return tag of last message if all=LDAP_MSG_ALL --- diff --git a/libraries/libldap/result.c b/libraries/libldap/result.c index 40ff1c1722..f5a5868860 100644 --- a/libraries/libldap/result.c +++ b/libraries/libldap/result.c @@ -295,7 +295,11 @@ wait4msg( #endif /* LDAP_DEBUG */ if ( ( *result = chkResponseList( ld, msgid, all ) ) != NULL ) { - rc = (*result)->lm_msgtype; + if ( all == LDAP_MSG_ALL && (*result)->lm_chain ) { + rc = (*result)->lm_chain_tail->lm_msgtype; + } else { + rc = (*result)->lm_msgtype; + } } else { int lc_ready = 0; @@ -1082,7 +1086,7 @@ nextresp2: chain_head->lm_chain_tail = newmsg; *result = chkResponseList( ld, msgid, all ); ld->ld_errno = LDAP_SUCCESS; - return( (*result)->lm_msgtype ); + return( (*result)->lm_chain_tail->lm_msgtype ); } } #endif /* LDAP_CONNECTIONLESS */