From: Nick Porter Date: Tue, 1 Jun 2021 10:31:25 +0000 (+0100) Subject: Correct references to "input_pairs" for exec calls X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=486ba79dc04d4e76f5903faad14adf7db5202d21;p=thirdparty%2Ffreeradius-server.git Correct references to "input_pairs" for exec calls --- diff --git a/src/modules/rlm_exec/rlm_exec.c b/src/modules/rlm_exec/rlm_exec.c index e7e279f7f60..4dd628fcb0a 100644 --- a/src/modules/rlm_exec/rlm_exec.c +++ b/src/modules/rlm_exec/rlm_exec.c @@ -261,24 +261,19 @@ static unlang_action_t mod_exec_nowait_resume(rlm_rcode_t *p_result, module_ctx_ { rlm_exec_t const *inst = talloc_get_type_abort_const(mctx->instance, rlm_exec_t); fr_value_box_list_t *box = talloc_get_type_abort(rctx, fr_value_box_list_t); - fr_pair_list_t env_pairs; + fr_pair_list_t *env_pairs = NULL; - fr_pair_list_init(&env_pairs); /* * Decide what input/output the program takes. */ if (inst->input) { - fr_pair_list_t *input_pairs; - - input_pairs = tmpl_list_head(request, inst->input_list); - if (!input_pairs) { + env_pairs = tmpl_list_head(request, inst->input_list); + if (!env_pairs) { RETURN_MODULE_INVALID; } - - env_pairs = *input_pairs; } - if (fr_exec_nowait(request, box, &env_pairs) < 0) { + if (fr_exec_nowait(request, box, env_pairs) < 0) { RPEDEBUG("Failed executing program"); RETURN_MODULE_FAIL; } @@ -396,10 +391,9 @@ static unlang_action_t CC_HINT(nonnull) mod_exec_dispatch(rlm_rcode_t *p_result, { rlm_exec_t const *inst = talloc_get_type_abort_const(mctx->instance, rlm_exec_t); rlm_exec_ctx_t *m; - fr_pair_list_t env_pairs; + fr_pair_list_t *env_pairs = NULL; TALLOC_CTX *ctx; - fr_pair_list_init(&env_pairs); if (!inst->tmpl) { RDEBUG("This module requires 'program' to be set."); RETURN_MODULE_FAIL; @@ -425,12 +419,8 @@ static unlang_action_t CC_HINT(nonnull) mod_exec_dispatch(rlm_rcode_t *p_result, * Decide what input/output the program takes. */ if (inst->input) { - fr_pair_list_t *input_pairs; - - input_pairs = tmpl_list_head(request, inst->input_list); - if (!input_pairs) RETURN_MODULE_INVALID; - - env_pairs = *input_pairs; + env_pairs = tmpl_list_head(request, inst->input_list); + if (!env_pairs) RETURN_MODULE_INVALID; } if (inst->output) { @@ -442,7 +432,7 @@ static unlang_action_t CC_HINT(nonnull) mod_exec_dispatch(rlm_rcode_t *p_result, m = talloc_zero(ctx, rlm_exec_ctx_t); fr_value_box_list_init(&m->box); - return unlang_module_yield_to_tmpl(m, &m->box, &m->status, request, inst->tmpl, &env_pairs, mod_exec_wait_resume, NULL, m); + return unlang_module_yield_to_tmpl(m, &m->box, &m->status, request, inst->tmpl, env_pairs, mod_exec_wait_resume, NULL, m); }