From a766cdf268766770c76d367246d58948b8254025 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 8 Jun 2012 04:11:29 -0700 Subject: [PATCH] Revert "ITS#7292 plug memleak in control values" This reverts commit 9e3af2356ba3aee70682f2a328da73998ffab649. --- servers/slapd/controls.c | 15 +-------------- servers/slapd/proto-slap.h | 3 --- servers/slapd/result.c | 6 +++--- 3 files changed, 4 insertions(+), 20 deletions(-) diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c index 7d82cc4530..e737afb043 100644 --- a/servers/slapd/controls.c +++ b/servers/slapd/controls.c @@ -566,24 +566,11 @@ void slap_free_ctrls( int i; for (i=0; ctrls[i]; i++) { - op->o_tmpfree( ctrls[i], op->o_tmpmemctx ); + op->o_tmpfree(ctrls[i], op->o_tmpmemctx ); } op->o_tmpfree( ctrls, op->o_tmpmemctx ); } -void slap_free_ctrl_vals( - Operation *op, - LDAPControl **ctrls ) -{ - int i; - - for (i=0; ctrls[i]; i++) { - if ( ctrls[i]->ldctl_value.bv_val ) - op->o_tmpfree( ctrls[i]->ldctl_value.bv_val, op->o_tmpmemctx ); - } - slap_free_ctrls( op, ctrls ); -} - int slap_add_ctrls( Operation *op, SlapReply *rs, diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 51bf2d673a..198303d786 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -638,9 +638,6 @@ LDAP_SLAPD_V( struct slap_control_ids ) slap_cids; LDAP_SLAPD_F (void) slap_free_ctrls LDAP_P(( Operation *op, LDAPControl **ctrls )); -LDAP_SLAPD_F (void) slap_free_ctrl_vals LDAP_P(( - Operation *op, - LDAPControl **ctrls )); LDAP_SLAPD_F (int) slap_add_ctrls LDAP_P(( Operation *op, SlapReply *rs, diff --git a/servers/slapd/result.c b/servers/slapd/result.c index 0f1dca9f0a..f42985f7cd 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -752,7 +752,7 @@ clean2:; if ( rs->sr_flags & REP_CTRLS_MUSTBEFREED ) { rs->sr_flags ^= REP_CTRLS_MUSTBEFREED; /* paranoia */ if ( rs->sr_ctrls ) { - slap_free_ctrl_vals( op, rs->sr_ctrls ); + slap_free_ctrls( op, rs->sr_ctrls ); rs->sr_ctrls = NULL; } } @@ -1476,7 +1476,7 @@ error_return:; if ( rs->sr_flags & REP_CTRLS_MUSTBEFREED ) { rs->sr_flags ^= REP_CTRLS_MUSTBEFREED; /* paranoia */ if ( rs->sr_ctrls ) { - slap_free_ctrl_vals( op, rs->sr_ctrls ); + slap_free_ctrls( op, rs->sr_ctrls ); rs->sr_ctrls = NULL; } } @@ -1637,7 +1637,7 @@ rel: if ( rs->sr_flags & REP_CTRLS_MUSTBEFREED ) { rs->sr_flags ^= REP_CTRLS_MUSTBEFREED; /* paranoia */ if ( rs->sr_ctrls ) { - slap_free_ctrl_vals( op, rs->sr_ctrls ); + slap_free_ctrls( op, rs->sr_ctrls ); rs->sr_ctrls = NULL; } } -- 2.39.5