From: Pierangelo Masarati Date: Wed, 2 Jan 2008 22:49:45 +0000 (+0000) Subject: fix modlist cleanup during rename X-Git-Tag: OPENLDAP_REL_ENG_2_4_9~20^2~256 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2969c69747239b618dfc85b853a5b29b769ca03e;p=openldap fix modlist cleanup during rename --- diff --git a/servers/slapd/overlays/memberof.c b/servers/slapd/overlays/memberof.c index 0dec9c86ed..f198f71766 100644 --- a/servers/slapd/overlays/memberof.c +++ b/servers/slapd/overlays/memberof.c @@ -472,8 +472,10 @@ memberof_value_modify( char buf[ SLAP_TEXT_BUFLEN ]; snprintf( buf, sizeof( buf ), "memberof_value_modify %s=\"%s\" failed err=%d text=%s", - ad->ad_cname.bv_val, new_dn->bv_val, rs2.sr_err, rs2.sr_text ); - Debug( LDAP_DEBUG_ANY, "%s: %s\n", op->o_log_prefix, buf, 0 ); + ad->ad_cname.bv_val, new_dn->bv_val, rs2.sr_err, + rs2.sr_text ? rs2.sr_text : "" ); + Debug( LDAP_DEBUG_ANY, "%s: %s\n", + op->o_log_prefix, buf, 0 ); } assert( op2.orm_modlist == &mod[ mcnt ] ); @@ -486,6 +488,8 @@ memberof_value_modify( if ( ml != NULL ) { slap_mods_free( ml, 1 ); } + + mod[ 0 ].sml_next = NULL; } if ( old_ndn != NULL ) { @@ -503,8 +507,10 @@ memberof_value_modify( char buf[ SLAP_TEXT_BUFLEN ]; snprintf( buf, sizeof( buf ), "memberof_value_modify %s=\"%s\" failed err=%d text=%s", - ad->ad_cname.bv_val, old_dn->bv_val, rs2.sr_err, rs2.sr_text ); - Debug( LDAP_DEBUG_ANY, "%s: %s\n", op->o_log_prefix, buf, 0 ); + ad->ad_cname.bv_val, old_dn->bv_val, rs2.sr_err, + rs2.sr_text ? rs2.sr_text : "" ); + Debug( LDAP_DEBUG_ANY, "%s: %s\n", + op->o_log_prefix, buf, 0 ); } assert( op2.orm_modlist == &mod[ mcnt ] );