]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/modrdn.c
return structuralObjectClass errors
[openldap] / servers / slapd / back-bdb / modrdn.c
index f32abdf5671584e76e6b682f509d2ea33b11889e..6aececa31ef7629efc7df70c16b199213875c43f 100644 (file)
@@ -94,7 +94,7 @@ bdb_modrdn( Operation *op, SlapReply *rs )
                /* 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 */
@@ -811,11 +811,11 @@ done:
        }
        op->o_private = NULL;
 
-       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 );
        }