valgrind findings

This commit is contained in:
John Kerl 2016-11-17 21:00:27 -05:00
parent c05f6fe559
commit 94de782b7a
3 changed files with 16 additions and 1 deletions

View file

@ -391,6 +391,7 @@ static void handle_indexed_local_variable_assignment_from_xval(
&all_non_null_or_error);
if (all_non_null_or_error) {
local_stack_frame_t* pframe = local_stack_get_top_frame(pvars->plocal_stack);
// xxx copy-or-not semantics. find out, fix, encode in function name.
local_stack_frame_assign_extended_indexed(pframe, pstate->lhs_frame_relative_index, pmvkeys, rhs_xvalue);
}
sllmv_free(pmvkeys);

View file

@ -1524,6 +1524,16 @@ static void free_dump(mlr_dsl_cst_statement_t* pstatement) {
if (pstate->poutput_filename_evaluator != NULL) {
pstate->poutput_filename_evaluator->pfree_func(pstate->poutput_filename_evaluator);
}
if (pstate->pephemeral_target_xevaluator != NULL) {
pstate->pephemeral_target_xevaluator->pfree_func(pstate->pephemeral_target_xevaluator);
}
if (pstate->ptarget_keylist_evaluators != NULL) {
for (sllve_t* pe = pstate->ptarget_keylist_evaluators->phead; pe != NULL; pe = pe->pnext) {
rval_evaluator_t* pev = pe->pvvalue;
pev->pfree_func(pev);
}
sllv_free(pstate->ptarget_keylist_evaluators);
}
if (pstate->pmulti_out != NULL) {
multi_out_close(pstate->pmulti_out);
@ -1533,6 +1543,10 @@ static void free_dump(mlr_dsl_cst_statement_t* pstatement) {
free(pstate);
}
sllv_t* ptarget_keylist_evaluators;
rxval_evaluator_t* pephemeral_target_xevaluator;
// ----------------------------------------------------------------
static void full_oosvar_target_getter(variables_t* pvars, dump_state_t* pstate,
mv_t** ppval, mlhmmv_level_t** pplevel)

View file

@ -66,7 +66,6 @@ rxval_evaluator_t* rxval_evaluator_alloc_from_ast(mlr_dsl_ast_node_t* pnode, fmg
}
// ================================================================
// xxx
// {
// "a" : 1,
// "b" : {
@ -208,6 +207,7 @@ static void rxval_evaluator_from_map_literal_free_aux(map_literal_list_evaluator
rxval_evaluator_from_map_literal_free_aux(ppair_evaluator->plist_evaluator);
}
}
sllv_free(plist_evaluator->ppair_evaluators);
}
static void rxval_evaluator_from_map_literal_free(rxval_evaluator_t* prxval_evaluator) {