- op->o_suffixAliased = ch_strdup ( be->be_suffixAlias[i] );
- dn = ch_malloc ( (dnLength - aliasLength) +
- strlen (be->be_suffixAlias[ i+1 ]) + 1);
- strncpy (dn, oldDN, dnLength - aliasLength);
- strcpy (dn + (dnLength - aliasLength), be->be_suffixAlias[ i+1 ]);
- op->o_suffix = ch_strdup (dn);
- Debug( LDAP_DEBUG_ARGS, "ALIAS: converted %s to %s", oldDN, dn, 0);
+ dn = ch_malloc( diff + strlen(be->be_suffixAlias[i+1]) + 1 );
+ strncpy( dn, oldDN, diff );
+ strcpy( &dn[diff], be->be_suffixAlias[i+1] );
+ Debug( LDAP_DEBUG_ARGS, "SuffixAlias: converted \"%s\" to \"%s\"",
+ oldDN, dn, 0);