diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 8570a4a163..71719a880f 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -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 diff --git a/servers/slapd/operation.c b/servers/slapd/operation.c index 49c1a7b58c..70343c6f40 100644 --- a/servers/slapd/operation.c +++ b/servers/slapd/operation.c @@ -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 ); }