]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Call send_generic and have it call the correct section and resume function
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 15 Sep 2021 16:42:07 +0000 (11:42 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 15 Sep 2021 16:42:07 +0000 (11:42 -0500)
May fix infinite loop on fr_request_to_state failure

src/process/radius/base.c

index fc6b8cd892a14f542dd65ce050dcff91c8622b38..c7f2a4c3050cff2dff2acda828bbdfb2e47dd599 100644 (file)
@@ -604,8 +604,6 @@ RESUME_NO_RCTX(access_reject)
 
 RESUME(access_challenge)
 {
-       CONF_SECTION                    *cs;
-       fr_process_state_t const        *state;
        process_radius_t const          *inst = talloc_get_type_abort_const(mctx->instance, process_radius_t);
 
        PROCESS_TRACE;
@@ -617,10 +615,7 @@ RESUME(access_challenge)
         */
        if (fr_request_to_state(inst->auth.state_tree, request) < 0) {
                request->reply->code = FR_RADIUS_CODE_DO_NOT_RESPOND;
-               UPDATE_STATE_CS(reply);
-               return unlang_module_yield_to_section(p_result, request,
-                                                     cs, state->rcode, state->send,
-                                                     NULL, rctx);
+               return CALL_SEND(generic);
        }
 
        fr_assert(request->reply->code == FR_RADIUS_CODE_ACCESS_CHALLENGE);