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:
jackpoz
2014-04-04 22:16:14 +02:00
parent 65e9691b23
commit c4f4a023ea

View File

@@ -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;
}
}
}