]> git.sur5r.net Git - openldap/commitdiff
fix modlist cleanup during rename
authorPierangelo Masarati <ando@openldap.org>
Wed, 2 Jan 2008 22:49:45 +0000 (22:49 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 2 Jan 2008 22:49:45 +0000 (22:49 +0000)
servers/slapd/overlays/memberof.c

index 0dec9c86ed2396fe3cd2ad37133b4fd0272032cf..f198f71766fb6ae7902600d51dde1fdde4a36a60 100644 (file)
@@ -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 ] );