Don't strdup conn->authz into op, just reference directly. (Conn cannot

be freed until after all associated ops are freed.)
This commit is contained in:
Howard Chu 2002-08-07 05:19:55 +00:00
parent c3ca53cdfe
commit 6862cfd97c
2 changed files with 3 additions and 14 deletions

View File

@ -1555,13 +1555,11 @@ static int connection_op_activate( Connection *conn, Operation *op )
if (!arg->co_op->o_dn.bv_len) {
arg->co_op->o_authz = conn->c_authz;
arg->co_op->o_dn.bv_val = ch_strdup( conn->c_dn.bv_val ?
conn->c_dn.bv_val : "" );
arg->co_op->o_ndn.bv_val = ch_strdup( conn->c_ndn.bv_val ?
conn->c_ndn.bv_val : "" );
arg->co_op->o_dn = conn->c_dn;
arg->co_op->o_ndn = conn->c_ndn;
}
arg->co_op->o_authtype = conn->c_authtype;
ber_dupbv( &arg->co_op->o_authmech, &conn->c_authmech );
arg->co_op->o_authmech = conn->c_authmech;
if (!arg->co_op->o_protocol) {
arg->co_op->o_protocol = conn->c_protocol

View File

@ -23,15 +23,6 @@ slap_op_free( Operation *op )
if ( op->o_ber != NULL ) {
ber_free( op->o_ber, 1 );
}
if ( op->o_dn.bv_val != NULL ) {
free( op->o_dn.bv_val );
}
if ( op->o_ndn.bv_val != NULL ) {
free( op->o_ndn.bv_val );
}
if ( op->o_authmech.bv_val != NULL ) {
free( op->o_authmech.bv_val );
}
if ( op->o_ctrls != NULL ) {
ldap_controls_free( op->o_ctrls );
}