From 296194ad36c601cf12d215a65d84222bbdf4de61 Mon Sep 17 00:00:00 2001 From: Rubidium Date: Sun, 9 May 2021 22:51:26 +0200 Subject: [PATCH] Fix: memory leak due to assigning result of strdup to a std::string --- src/newgrf.cpp | 2 +- src/signs_cmd.cpp | 2 +- src/town_cmd.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 7b8ab9de1d..c372f033a8 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -7394,7 +7394,7 @@ static void GRFInhibit(ByteReader *buf) if (file != nullptr && file != _cur.grfconfig) { grfmsg(2, "GRFInhibit: Deactivating file '%s'", file->filename); GRFError *error = DisableGrf(STR_NEWGRF_ERROR_FORCEFULLY_DISABLED, file); - error->data = stredup(_cur.grfconfig->GetName()); + error->data = _cur.grfconfig->GetName(); } } } diff --git a/src/signs_cmd.cpp b/src/signs_cmd.cpp index a0843917d8..6ffb6cda1f 100644 --- a/src/signs_cmd.cpp +++ b/src/signs_cmd.cpp @@ -54,7 +54,7 @@ CommandCost CmdPlaceSign(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 si->y = y; si->z = GetSlopePixelZ(x, y); if (!StrEmpty(text)) { - si->name = stredup(text); + si->name = text; } si->UpdateVirtCoord(); InvalidateWindowData(WC_SIGN_LIST, 0, 0); diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 01331a269e..033d042486 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2004,7 +2004,7 @@ CommandCost CmdFoundTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 old_generating_world.Restore(); if (t != nullptr && !StrEmpty(text)) { - t->name = stredup(text); + t->name = text; t->UpdateVirtCoord(); }