config_modify_internal(): Do not send rs->sr_text with success.
config_back_modify(): When slap_bv2ad() can set rs->sr_text,
set sr->sr_err too and catch failure.
out_noop:
if ( rc == LDAP_SUCCESS ) {
attrs_free( save_attrs );
out_noop:
if ( rc == LDAP_SUCCESS ) {
attrs_free( save_attrs );
} else {
attrs_free( e->e_attrs );
e->e_attrs = save_attrs;
} else {
attrs_free( e->e_attrs );
e->e_attrs = save_attrs;
rdn = ce->ce_entry->e_nname;
ptr = strchr( rdn.bv_val, '=' );
rdn.bv_len = ptr - rdn.bv_val;
rdn = ce->ce_entry->e_nname;
ptr = strchr( rdn.bv_val, '=' );
rdn.bv_len = ptr - rdn.bv_val;
- slap_bv2ad( &rdn, &rad, &rs->sr_text );
+ rs->sr_err = slap_bv2ad( &rdn, &rad, &rs->sr_text );
+ if ( rs->sr_err != LDAP_SUCCESS ) {
+ goto out;
+ }
/* Some basic validation... */
for ( ml = op->orm_modlist; ml; ml = ml->sml_next ) {
/* Some basic validation... */
for ( ml = op->orm_modlist; ml; ml = ml->sml_next ) {