mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 10:26:28 +01:00
Core/Chat: Fix valid chat links being handled as invalid
Fix a case where valid chat links would have been handled as invalid.
This happened if these conditions were true:
- the link was a profession and the link name started with the same name of the profession, like spell id 61120 in esES locale "Inscripción de la tormenta de maestro" with profession name "Inscripción"
- the profession name was the same for more than 1 locale available, like esES and esMX, or enUS and enGB
Restore memmove() instead of memcpy() wrongly replaced in 791130f6fa , it's unsafe to use memcpy() with overlapping memory regions.
This commit is contained in:
@@ -314,7 +314,8 @@ bool SpellChatLink::ValidateName(char* buffer, const char* context)
|
||||
// found the prefix, remove it to perform spellname validation below
|
||||
// -2 = strlen(": ")
|
||||
uint32 spellNameLength = strlen(buffer) - skillLineNameLength - 2;
|
||||
memcpy(buffer, buffer + skillLineNameLength + 2, spellNameLength + 1);
|
||||
memmove(buffer, buffer + skillLineNameLength + 2, spellNameLength + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user