]> git.sur5r.net Git - openldap/commitdiff
Revert previous commit
authorHoward Chu <hyc@openldap.org>
Wed, 7 Aug 2002 06:37:11 +0000 (06:37 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 7 Aug 2002 06:37:11 +0000 (06:37 +0000)
servers/slapd/connection.c
servers/slapd/operation.c

index 71719a880f1829e51259034b422cef5049597b71..8570a4a16322c33c1abb63edf8825240c7c97072 100644 (file)
@@ -1555,11 +1555,13 @@ 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 = conn->c_dn;
-           arg->co_op->o_ndn = conn->c_ndn;
+           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_authtype = conn->c_authtype;
-       arg->co_op->o_authmech = conn->c_authmech;
+       ber_dupbv( &arg->co_op->o_authmech, &conn->c_authmech );
        
        if (!arg->co_op->o_protocol) {
            arg->co_op->o_protocol = conn->c_protocol
index 70343c6f40cf4a200a44e2020028acf79e67c3d0..49c1a7b58c50815c7506a5fef15d79119f1d3c93 100644 (file)
@@ -23,6 +23,15 @@ 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 );
        }