From 7f00725c978bf79de91951f143cdfd2f9173041d Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Fri, 5 Apr 2019 19:29:23 +0100 Subject: [PATCH] Fix a handful of memory leaks in the midend. I happened to notice these when running dominosa --generate under Leak Sanitiser. --- midend.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/midend.c b/midend.c index 5f3abcf..b3032e7 100644 --- a/midend.c +++ b/midend.c @@ -171,6 +171,8 @@ midend *midend_new(frontend *fe, const game *ourgame, me->params = ourgame->default_params(); me->game_id_change_notify_function = NULL; me->game_id_change_notify_ctx = NULL; + me->encoded_presets = NULL; + me->n_encoded_presets = 0; /* * Allow environment-based changing of the default settings by @@ -261,8 +263,13 @@ static void midend_free_preset_menu(midend *me, struct preset_menu *menu) void midend_free(midend *me) { + int i; + midend_free_game(me); + for (i = 0; i < me->n_encoded_presets; i++) + sfree(me->encoded_presets[i]); + sfree(me->encoded_presets); if (me->drawing) drawing_free(me->drawing); random_free(me->random);