1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-02 16:38:41 +00:00

Fix out of range enum casts in deSerialize functions (#14090)

This commit is contained in:
cx384 2024-01-17 20:05:46 +01:00 committed by GitHub
parent 0383c44f0d
commit 2ea8d9ca11
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 138 additions and 77 deletions

View file

@ -198,7 +198,11 @@ void ItemDefinition::deSerialize(std::istream &is, u16 protocol_version)
if (version < 6)
throw SerializationError("unsupported ItemDefinition version");
type = (enum ItemType)readU8(is);
type = static_cast<ItemType>(readU8(is));
if (type >= ItemType_END) {
type = ITEM_NONE;
}
name = deSerializeString16(is);
description = deSerializeString16(is);
inventory_image = deSerializeString16(is);