forked from Mirrorlandia_minetest/minetest
Fix crash on hypertext[] with not enough parts
The length check used < rather than <=, disabling the check when the formspec version matches the client's FORMSPEC_API_VERSION. Additionally, it was possible to have fewer parts than required if the formspec version was greater than the client's FORMSPEC_API_VERSION.
This commit is contained in:
parent
4ee643f472
commit
8dfeba02b9
@ -1730,8 +1730,9 @@ void GUIFormSpecMenu::parseHyperText(parserData *data, const std::string &elemen
|
|||||||
{
|
{
|
||||||
std::vector<std::string> parts = split(element, ';');
|
std::vector<std::string> parts = split(element, ';');
|
||||||
|
|
||||||
if (parts.size() != 4 && m_formspec_version < FORMSPEC_API_VERSION) {
|
if (parts.size() != 4 &&
|
||||||
errorstream << "Invalid text element(" << parts.size() << "): '" << element << "'" << std::endl;
|
(parts.size() < 4 || m_formspec_version <= FORMSPEC_API_VERSION)) {
|
||||||
|
errorstream << "Invalid hypertext element(" << parts.size() << "): '" << element << "'" << std::endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user