aboutsummaryrefslogtreecommitdiff
path: root/midend.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-09-04 12:53:27 +0000
committerSimon Tatham <anakin@pobox.com>2005-09-04 12:53:27 +0000
commitfd1735170e408b32847c481eea2cffc4f164c7df (patch)
treeca55b61e27dce44d90ba4524126ed3b539982ef8 /midend.c
parentfe65b2efbd4696c98b9b5f9ef5a3bac2715b12b7 (diff)
downloadpuzzles-fd1735170e408b32847c481eea2cffc4f164c7df.zip
puzzles-fd1735170e408b32847c481eea2cffc4f164c7df.tar.gz
puzzles-fd1735170e408b32847c481eea2cffc4f164c7df.tar.bz2
puzzles-fd1735170e408b32847c481eea2cffc4f164c7df.tar.xz
Patch from Ton van Overbeek to fix a small memory leak in
midend_solve(). [originally from svn r6271]
Diffstat (limited to 'midend.c')
-rw-r--r--midend.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/midend.c b/midend.c
index 6d639eb..1f564f3 100644
--- a/midend.c
+++ b/midend.c
@@ -1169,8 +1169,11 @@ char *midend_solve(midend *me)
* Now enter the solved state as the next move.
*/
midend_stop_anim(me);
- while (me->nstates > me->statepos)
+ while (me->nstates > me->statepos) {
me->ourgame->free_game(me->states[--me->nstates].state);
+ if (me->states[me->nstates].movestr)
+ sfree(me->states[me->nstates].movestr);
+ }
ensure(me);
me->states[me->nstates].state = s;
me->states[me->nstates].movestr = movestr;