From: Nick Porter Date: Tue, 19 Jan 2021 17:24:20 +0000 (+0000) Subject: Correct method to add pairs to existing list in rlm_mruby.c X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=818ec801b3b97a97fc46256e1dc55c501452379f;p=thirdparty%2Ffreeradius-server.git Correct method to add pairs to existing list in rlm_mruby.c --- diff --git a/src/modules/rlm_mruby/rlm_mruby.c b/src/modules/rlm_mruby/rlm_mruby.c index 4c2127fce3..b0a33aae4e 100644 --- a/src/modules/rlm_mruby/rlm_mruby.c +++ b/src/modules/rlm_mruby/rlm_mruby.c @@ -304,6 +304,9 @@ static int mruby_vps_to_array(request_t *request, mrb_value *out, mrb_state *mrb static void add_vp_tuple(TALLOC_CTX *ctx, request_t *request, fr_pair_list_t *vps, mrb_state *mrb, mrb_value value, char const *function_name) { int i; + fr_pair_list_t tmp_list; + + fr_pair_list_init(&tmp_list); for (i = 0; i < RARRAY_LEN(value); i++) { mrb_value tuple = mrb_ary_entry(value, i); @@ -378,8 +381,9 @@ static void add_vp_tuple(TALLOC_CTX *ctx, request_t *request, fr_pair_list_t *vp DEBUG("%s: %s %s %s OK", function_name, ckey, fr_table_str_by_value(fr_tokens_table, op, "="), cval); } - radius_pairmove(request, vps, &vp, false); + fr_pair_add(&tmp_list, vp); } + radius_pairmove(request, vps, &tmp_list, false); } static inline int mruby_set_vps(request_t *request, mrb_state *mrb, mrb_value mruby_request,