ref: 7f00725c978bf79de91951f143cdfd2f9173041d
parent: 5c4d6b8f35e749b269907fd2cdaacc117198807b
author: Simon Tatham <anakin@pobox.com>
date: Fri Apr 5 15:29:23 EDT 2019
Fix a handful of memory leaks in the midend. I happened to notice these when running dominosa --generate under Leak Sanitiser.
--- a/midend.c
+++ b/midend.c
@@ -171,6 +171,8 @@
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 @@
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);