diff --git a/midend.c b/midend.c index 0543830..1092a3b 100644 --- a/midend.c +++ b/midend.c @@ -309,6 +309,7 @@ void midend_free(midend *me) sfree(me->privdesc); sfree(me->seedstr); sfree(me->aux_info); + sfree(me->be_prefs.buf); me->ourgame->free_params(me->params); midend_free_preset_menu(me, me->preset_menu); if (me->ui) @@ -3011,6 +3012,8 @@ static void midend_serialise_prefs( write(wctx, "\n", 1); } + + free_cfg(cfg); } struct buffer { diff --git a/solo.c b/solo.c index 27ac7c9..2cfa0f3 100644 --- a/solo.c +++ b/solo.c @@ -2642,6 +2642,7 @@ static void solver(int cr, struct block_structure *blocks, sfree(usage->row); sfree(usage->col); sfree(usage->blk); + sfree(usage->diag); if (usage->kblocks) { free_block_structure(usage->kblocks); free_block_structure(usage->extra_cages); @@ -2973,6 +2974,7 @@ static bool gridgen(int cr, struct block_structure *blocks, sfree(usage->blk); sfree(usage->col); sfree(usage->row); + sfree(usage->diag); sfree(usage); return ret;