# HG changeset patch # User Darkvater # Date 2006-12-21 10:09:43 # Node ID 78ec7c00eea3a448166dc3476f0edb2678a31825 # Parent c8874719b8c6d2d13ba8542e4be938b4dec4fe9e (svn r7522) -Codechange: Have CopyGRFConfigList clear the destination list before assigning values to it. This cuts down on memleaks which could exist when the function was not used carefully. diff --git a/newgrf_config.c b/newgrf_config.c --- a/newgrf_config.c +++ b/newgrf_config.c @@ -115,6 +115,8 @@ GRFConfig **CopyGRFConfigList(GRFConfig { GRFConfig *c; + /* Clear destination as it will be overwritten */ + ClearGRFConfigList(dst); for (; src != NULL; src = src->next) { c = calloc(1, sizeof(*c)); *c = *src; @@ -135,8 +137,6 @@ void ResetGRFConfig(bool defaults) { GRFConfig **c = &_grfconfig; - ClearGRFConfigList(c); - if (defaults) c = CopyGRFConfigList(c, _grfconfig_newgame); CopyGRFConfigList(c, _grfconfig_static); }