From: jacob Date: Sat, 21 May 2005 22:07:48 +0000 (+0000) Subject: Ensure that an old random seed isn't left around for the user to see when a X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/3af70dd4f3397d605fe59bddfd89baf95047ea7d Ensure that an old random seed isn't left around for the user to see when a descriptive ID has been specified. Fix tiny memory leak. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@5825 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/midend.c b/midend.c index ce0a315..1d7087a 100644 --- a/midend.c +++ b/midend.c @@ -748,18 +748,23 @@ static char *midend_game_id_int(midend_data *me, char *id, int defmode) if (seed || desc) { char *tmpstr = me->ourgame->encode_params(tmpparams, FALSE); me->ourgame->decode_params(me->params, tmpstr); + sfree(tmpstr); } else { me->ourgame->free_params(me->params); me->params = me->ourgame->dup_params(tmpparams); } } + sfree(me->desc); + me->desc = NULL; + sfree(me->seedstr); + me->seedstr = NULL; + if (desc) { error = me->ourgame->validate_desc(me->params, desc); if (error) return error; - sfree(me->desc); me->desc = dupstr(desc); me->genmode = GOT_DESC; if (me->aux_info) @@ -768,7 +773,6 @@ static char *midend_game_id_int(midend_data *me, char *id, int defmode) } if (seed) { - sfree(me->seedstr); me->seedstr = dupstr(seed); me->genmode = GOT_SEED; }