mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Fix memory leak in midend_game_id_int()
The "par" string wasn't getting freed on some error paths. Fixed by freeing it immediately after its last use, which is before any of the error paths.
This commit is contained in:
3
midend.c
3
midend.c
@ -1801,6 +1801,7 @@ static const char *midend_game_id_int(midend *me, const char *id, int defmode)
|
||||
newcurparams = me->ourgame->default_params();
|
||||
}
|
||||
me->ourgame->decode_params(newcurparams, par);
|
||||
sfree(par);
|
||||
error = me->ourgame->validate_params(newcurparams, desc == NULL);
|
||||
if (error) {
|
||||
me->ourgame->free_params(newcurparams);
|
||||
@ -1876,8 +1877,6 @@ static const char *midend_game_id_int(midend *me, const char *id, int defmode)
|
||||
me->genmode = GOT_SEED;
|
||||
}
|
||||
|
||||
sfree(par);
|
||||
|
||||
me->newgame_can_store_undo = false;
|
||||
|
||||
return NULL;
|
||||
|
Reference in New Issue
Block a user