]> git.sur5r.net Git - openldap/commitdiff
ITS#2778 use real malloc for new entry, not sl_malloc
authorHoward Chu <hyc@openldap.org>
Sun, 19 Oct 2003 02:18:38 +0000 (02:18 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 19 Oct 2003 02:18:38 +0000 (02:18 +0000)
servers/slapd/syncrepl.c

index 2acbcf64efd293f072e521b4da797102e3acf509..826f0c4bca3b8c5c3fc5d3f2a488d3a729f1a818 100644 (file)
@@ -723,8 +723,14 @@ syncrepl_message_to_entry(
                return NULL;
        }
 
-       e = ( Entry * ) sl_calloc( 1, sizeof( Entry ), op->o_tmpmemctx);
+       e = ( Entry * ) ch_calloc( 1, sizeof( Entry ) );
        dnPrettyNormal( NULL, &bdn, &e->e_name, &e->e_nname, op->o_tmpmemctx );
+       ber_dupbv( &op->o_req_dn, &e->e_name );
+       ber_dupbv( &op->o_req_ndn, &e->e_nname );
+       sl_free( e->e_nname.bv_val, op->o_tmpmemctx );
+       sl_free( e->e_name.bv_val, op->o_tmpmemctx );
+       e->e_name = op->o_req_dn;
+       e->e_nname = op->o_req_ndn;
 
        while ( ber_remaining( ber ) ) {
                if ( (ber_scanf( ber, "{mW}", &tmp.sml_type, &tmp.sml_values ) ==