diff --git a/c/dsl/rval_func_evaluators.c b/c/dsl/rval_func_evaluators.c index 961474c232..4bdbc3a8e9 100644 --- a/c/dsl/rval_func_evaluators.c +++ b/c/dsl/rval_func_evaluators.c @@ -26,7 +26,6 @@ static mv_t rval_evaluator_variadic_func(void* pvstate, variables_t* pvars) { rval_evaluator_t* parg = pstate->pargs[i]; mv_t* pmv = &pstate->pmvs[i]; *pmv = parg->pprocess_func(parg->pvstate, pvars); - //mv_set_number_nullable(pmv); } return pstate->pfunc(pstate->pmvs, nargs); @@ -38,6 +37,8 @@ static void rval_evaluator_variadic_free(rval_evaluator_t* pevaluator) { for (int i = 0; i < pstate->nargs; i++) pstate->pargs[i]->pfree_func(pstate->pargs[i]); free(pstate->pargs); + // contents already mv_freed by evaluator chains at process time + free(pstate->pmvs); free(pstate);