mirror of https://github.com/OpenTTD/OpenTTD
(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.release/0.5
parent
39eff474d3
commit
739e93fd23
|
@ -115,6 +115,8 @@ GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src)
|
||||||
{
|
{
|
||||||
GRFConfig *c;
|
GRFConfig *c;
|
||||||
|
|
||||||
|
/* Clear destination as it will be overwritten */
|
||||||
|
ClearGRFConfigList(dst);
|
||||||
for (; src != NULL; src = src->next) {
|
for (; src != NULL; src = src->next) {
|
||||||
c = calloc(1, sizeof(*c));
|
c = calloc(1, sizeof(*c));
|
||||||
*c = *src;
|
*c = *src;
|
||||||
|
@ -135,8 +137,6 @@ void ResetGRFConfig(bool defaults)
|
||||||
{
|
{
|
||||||
GRFConfig **c = &_grfconfig;
|
GRFConfig **c = &_grfconfig;
|
||||||
|
|
||||||
ClearGRFConfigList(c);
|
|
||||||
|
|
||||||
if (defaults) c = CopyGRFConfigList(c, _grfconfig_newgame);
|
if (defaults) c = CopyGRFConfigList(c, _grfconfig_newgame);
|
||||||
CopyGRFConfigList(c, _grfconfig_static);
|
CopyGRFConfigList(c, _grfconfig_static);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue