]> git.sur5r.net Git - openldap/commitdiff
More for ITS#5326 - don't free ora_e->e_name if same as o_req_dn
authorHoward Chu <hyc@openldap.org>
Tue, 5 May 2009 21:54:01 +0000 (21:54 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Sat, 5 Nov 2011 00:00:48 +0000 (17:00 -0700)
servers/slapd/back-bdb/add.c

index e899a2fd512e3d5bbe5486c7c72c2b5fdefcd752..9811177c1219dba02d42603acebdb025e6bc621d 100644 (file)
@@ -302,7 +302,8 @@ retry:      /* transaction retry */
                                dnRdn( &op->ora_e->e_name, &rdn );
 
                                build_new_dn( &newdn, &p->e_name, &rdn, NULL ); 
-                               ber_memfree( op->ora_e->e_name.bv_val );
+                               if ( op->ora_e->e_name.bv_val != op->o_req_dn.bv_val )
+                                       ber_memfree( op->ora_e->e_name.bv_val );
                                op->ora_e->e_name = newdn;
 
                                /* FIXME: should check whether