}
/* check that the entry still obeys the schema */
- rc = entry_schema_check( op, e, save_attrs, get_manageDIT(op),
+ rc = entry_schema_check( op, e, save_attrs, get_relax(op),
text, textbuf, textlen );
if ( rc != LDAP_SUCCESS || op->o_noop ) {
attrs_free( e->e_attrs );
/* insert operation into transaction */
rs->sr_text = "transaction specified";
- rs->sr_err = LDAP_SUCCESS;
+ rs->sr_err = LDAP_X_TXN_SPECIFY_OKAY;
txnReturn:
/* release connection lock */
bdb_unlocked_cache_return_entry_w (&bdb->bi_cache, e);
}
- if( preread_ctrl != NULL ) {
+ if( preread_ctrl != NULL && (*preread_ctrl) != NULL ) {
slap_sl_free( (*preread_ctrl)->ldctl_value.bv_val, op->o_tmpmemctx );
slap_sl_free( *preread_ctrl, op->o_tmpmemctx );
}
- if( postread_ctrl != NULL ) {
+ if( postread_ctrl != NULL && (*postread_ctrl) != NULL ) {
slap_sl_free( (*postread_ctrl)->ldctl_value.bv_val, op->o_tmpmemctx );
slap_sl_free( *postread_ctrl, op->o_tmpmemctx );
}