From f7d40ec88e5e0c61b58de223e55a07e7d75c1b5e Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Fri, 5 Mar 2021 15:43:06 -0500 Subject: [PATCH] Clean up Merc::LoadMerc lastname processing This is still less than ideal, but client's name restrictions should prevent this from being an actual problem --- zone/merc.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zone/merc.cpp b/zone/merc.cpp index bb5cf3871..32f5995a8 100644 --- a/zone/merc.cpp +++ b/zone/merc.cpp @@ -4791,7 +4791,12 @@ Merc* Merc::LoadMerc(Client *c, MercTemplate* merc_template, uint32 merchant_id, tmpsize = c->GetMercInfo().MercSize; } - sprintf(npc_type->lastname, "%s's Mercenary", c->GetName()); + std::string tmp_lastname = c->GetName(); + tmp_lastname += "'s Mercenary"; + + // not sure what to do if too long + if (tmp_lastname.length() < sizeof(npc_type->lastname)) + strn0cpy(npc_type->lastname, tmp_lastname.c_str(), sizeof(npc_type->lastname)); npc_type->gender = tmpgender; npc_type->size = tmpsize; npc_type->loottable_id = 0; // Loottable has to be 0, otherwise we'll be leavin' some corpses!