aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2023-06-06 18:50:38 +0100
committerSimon Tatham <anakin@pobox.com>2023-06-06 19:54:40 +0100
commit7333d27b0c9d85d7fec41c2ca60dbea740767451 (patch)
tree2240638f083cbfb0ce52cf90ed225b16cfe72f91
parent4227ac1fd5dc25c247e7526526079b85e1890766 (diff)
downloadpuzzles-7333d27b0c9d85d7fec41c2ca60dbea740767451.zip
puzzles-7333d27b0c9d85d7fec41c2ca60dbea740767451.tar.gz
puzzles-7333d27b0c9d85d7fec41c2ca60dbea740767451.tar.bz2
puzzles-7333d27b0c9d85d7fec41c2ca60dbea740767451.tar.xz
Fix a few minor memory leaks.
Thanks to Jeremy Stephens for reporting them.
-rw-r--r--midend.c3
-rw-r--r--solo.c2
2 files changed, 5 insertions, 0 deletions
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;