X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fcompare.c;h=bbe9774e1dd6f2526cf1c5afbdab10ab06059bfb;hb=46cb141185d5a04c43d3707baff0df0b8358f50b;hp=2dd0b169eb90d7fc91ffa3060a191ec0dbeecbea;hpb=acbb5cf689a4336af05c9f259d909d8141055bac;p=openldap diff --git a/servers/slapd/compare.c b/servers/slapd/compare.c index 2dd0b169eb..bbe9774e1d 100644 --- a/servers/slapd/compare.c +++ b/servers/slapd/compare.c @@ -135,9 +135,10 @@ cleanup:; int fe_op_compare( Operation *op, SlapReply *rs ) { - Entry *entry = NULL; - int manageDSAit; - AttributeAssertion ava = *op->orc_ava; + Entry *entry = NULL; + int manageDSAit; + AttributeAssertion ava = *op->orc_ava; + BackendDB *bd = op->o_bd; if( strcasecmp( op->o_req_ndn.bv_val, LDAP_ROOT_DSE ) == 0 ) { Debug( LDAP_DEBUG_ARGS, @@ -214,9 +215,8 @@ fe_op_compare( Operation *op, SlapReply *rs ) rs->sr_err = LDAP_REFERRAL; if (!rs->sr_ref) rs->sr_ref = default_referral; - op->o_bd = frontendDB; + op->o_bd = bd; send_ldap_result( op, rs ); - op->o_bd = NULL; if (rs->sr_ref != default_referral) ber_bvarray_free( rs->sr_ref ); rs->sr_err = 0; @@ -369,6 +369,7 @@ fe_op_compare( Operation *op, SlapReply *rs ) } cleanup:; + op->o_bd = bd; return rs->sr_err; }