diff --git a/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php b/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php index 42cee940..d9e3c9c5 100644 --- a/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php +++ b/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php @@ -61,6 +61,13 @@ class ValidationService if (empty($tdf->addressSpaces)) { $failures[] = 'Missing address spaces'; + + } elseif (count($tdf->addressSpaces) > 256) { + /* + * We store address space IDs in an std::uint8_t - which should be more than enough (I don't think we'll + * ever support a target with more than 256 address spaces). + */ + $failures[] = 'Too many address spaces (' . count($tdf->addressSpaces) . ')'; } $processedAddressSpaceKeys = [];