mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
fix use of dangling pointers (ITS#5924)
This commit is contained in:
parent
0374a8341a
commit
8227ed9f71
@ -3809,14 +3809,15 @@ config_rename_kids( CfEntryInfo *ce )
|
||||
struct berval rdn, nrdn;
|
||||
|
||||
for (ce2 = ce->ce_kids; ce2; ce2 = ce2->ce_sibs) {
|
||||
struct berval newdn, newndn;
|
||||
dnRdn ( &ce2->ce_entry->e_name, &rdn );
|
||||
dnRdn ( &ce2->ce_entry->e_nname, &nrdn );
|
||||
build_new_dn( &newdn, &ce->ce_entry->e_name, &rdn, NULL );
|
||||
build_new_dn( &newndn, &ce->ce_entry->e_nname, &nrdn, NULL );
|
||||
free( ce2->ce_entry->e_name.bv_val );
|
||||
free( ce2->ce_entry->e_nname.bv_val );
|
||||
build_new_dn( &ce2->ce_entry->e_name, &ce->ce_entry->e_name,
|
||||
&rdn, NULL );
|
||||
build_new_dn( &ce2->ce_entry->e_nname, &ce->ce_entry->e_nname,
|
||||
&nrdn, NULL );
|
||||
ce2->ce_entry->e_name = newdn;
|
||||
ce2->ce_entry->e_nname = newndn;
|
||||
config_rename_kids( ce2 );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user