From 7e44750fc028841936d943bc4577c29d378e15e6 Mon Sep 17 00:00:00 2001 From: Nav Date: Mon, 29 Apr 2024 20:27:37 +0100 Subject: [PATCH] Checks for invalid sizes in TDF validation script --- .../Services/ValidationService.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php b/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php index 0ab69083..b1e61a82 100644 --- a/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php +++ b/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php @@ -256,6 +256,9 @@ class ValidationService } elseif ($addressSpace->size > 0xFFFFFFFF) { $failures[] = 'Size exceeds 32-bit unsigned integer'; + + } elseif ($addressSpace->size < 1) { + $failures[] = 'Invalid size (' . $addressSpace->size . ')'; } if (empty($addressSpace->memorySegments)) { @@ -332,6 +335,9 @@ class ValidationService } elseif ($segment->size > 0xFFFFFFFF) { $failures[] = 'Size exceeds 32-bit unsigned integer'; + + } elseif ($segment->size < 1) { + $failures[] = 'Invalid size (' . $segment->size . ')'; } if ($segment->executable === null) { @@ -390,6 +396,9 @@ class ValidationService if ($section->size === null) { $failures[] = 'Missing size'; + + } elseif ($section->size < 1) { + $failures[] = 'Invalid size (' . $section->size . ')'; } $processedSectionKeys = []; @@ -592,6 +601,9 @@ class ValidationService if ($register->size === null) { $failures[] = 'Missing size'; + + } elseif ($register->size < 1) { + $failures[] = 'Invalid size (' . $register->size . ')'; } $processedBitFieldKeys = [];