add explicit block fields total size limit - 240 bytes

This commit is contained in:
MihailRis
2024-10-02 17:08:46 +03:00
parent 221a34fa2e
commit e0a4876f3f
2 changed files with 9 additions and 0 deletions
+7
View File
@@ -255,6 +255,13 @@ void ContentLoader::loadBlock(
if (root.has("fields")) {
def.dataStruct = std::make_unique<data::StructLayout>();
def.dataStruct->deserialize(root["fields"]);
if (def.dataStruct->size() > MAX_BLOCK_FIELDS_SIZE) {
throw std::runtime_error(
util::quote(def.name) +
" fields total size exceeds limit (" +
std::to_string(def.dataStruct->size()) + "/" +
std::to_string(MAX_BLOCK_FIELDS_SIZE) + ")");
}
}
if (def.tickInterval == 0) {