From: Ondřej Kuzník Date: Fri, 26 Mar 2021 11:49:24 +0000 (+0000) Subject: ITS#8698 Only remove our own callback X-Git-Tag: OPENLDAP_REL_ENG_2_5_3BETA~3^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0df931b98b0dae988cf369b9726acc54ce550d23;p=thirdparty%2Fopenldap.git ITS#8698 Only remove our own callback --- diff --git a/servers/slapd/passwd.c b/servers/slapd/passwd.c index 9a450fa0bd..17fb65a39e 100644 --- a/servers/slapd/passwd.c +++ b/servers/slapd/passwd.c @@ -289,7 +289,7 @@ old_good: rs->sr_err = LDAP_OTHER; } else { - slap_callback *sc = op->o_callback; + slap_callback **sc; op->o_tag = LDAP_REQ_MODIFY; op->o_callback = &cb; @@ -312,7 +312,12 @@ old_good: rsp = NULL; } op->o_tag = LDAP_REQ_EXTENDED; - op->o_callback = sc; + for ( sc = &op->o_callback; *sc; sc = &(*sc)->sc_next ) { + if ( *sc == &cb ) { + *sc = cb.sc_next; + break; + } + } } rc = rs->sr_err;