Commit 1c31e03b authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#5340

parent 5b29b176
......@@ -12,6 +12,7 @@ OpenLDAP 2.4.9 Engineering
Fixed slapd pointer dereference (ITS#5388)
Fixed slapd null argument dereference (ITS#5435)
Fixed slapd sets attribute description parsing (ITS#5402)
Fixed slapd REP_ENTRY flags (ITS#5340)
Fixed slapd syncrepl hang on back-config (ITS#5407)
Fixed slapd syncrepl compare_csns crash (ITS#5413)
Fixed slapd syncrepl contextCSN update clash (ITS#5426)
......
......@@ -522,14 +522,20 @@ clean2:;
(void)slap_cleanup_play( op, rs );
}
if ( rs->sr_matched && rs->sr_flags & REP_MATCHED_MUSTBEFREED ) {
free( (char *)rs->sr_matched );
rs->sr_matched = NULL;
if ( rs->sr_flags & REP_MATCHED_MUSTBEFREED ) {
rs->sr_flags ^= REP_MATCHED_MUSTBEFREED; /* paranoia */
if ( rs->sr_matched ) {
free( (char *)rs->sr_matched );
rs->sr_matched = NULL;
}
}
if ( rs->sr_ref && rs->sr_flags & REP_REF_MUSTBEFREED ) {
ber_bvarray_free( rs->sr_ref );
rs->sr_ref = NULL;
if ( rs->sr_flags & REP_REF_MUSTBEFREED ) {
rs->sr_flags ^= REP_REF_MUSTBEFREED; /* paranoia */
if ( rs->sr_ref ) {
ber_bvarray_free( rs->sr_ref );
rs->sr_ref = NULL;
}
}
return rc;
......@@ -625,6 +631,14 @@ slap_send_ldap_result( Operation *op, SlapReply *rs )
rs->sr_msgid = (rs->sr_tag != LBER_SEQUENCE) ? op->o_msgid : 0;
abandon:
if ( rs->sr_flags & REP_REF_MUSTBEFREED ) {
if ( rs->sr_ref == NULL ) {
rs->sr_flags ^= REP_REF_MUSTBEFREED;
ber_bvarray_free( oref );
}
oref = NULL; /* send_ldap_response() will free rs->sr_ref if != NULL */
}
if ( send_ldap_response( op, rs ) == SLAP_CB_CONTINUE ) {
if ( op->o_tag == LDAP_REQ_SEARCH ) {
char nbuf[64];
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment