diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -124,7 +124,10 @@ GRFConfig **CopyGRFConfigList(GRFConfig if (src->filename != NULL) c->filename = strdup(src->filename); if (src->name != NULL) c->name = strdup(src->name); if (src->info != NULL) c->info = strdup(src->info); - if (src->error != NULL) c->error = strdup(src->error); + if (src->error != NULL) { + c->error = CallocT(1); + memcpy(c->error, src->error, sizeof(GRFError)); + } *dst = c; dst = &c->next;