aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSandrine Bailleux <sandrine.bailleux@arm.com>2020-04-02 15:52:44 +0200
committerSandrine Bailleux <sandrine.bailleux@arm.com>2020-04-02 15:57:55 +0200
commitafe62624c313b78778d4bb4962f5141ac5a0b728 (patch)
tree4f03bc8b116515187cd0dc803b00f4b83ce2f55c /include
parent6f8a2565593f602bfe9f6069f086960f8cc745cd (diff)
downloadplatform_external_arm-trusted-firmware-afe62624c313b78778d4bb4962f5141ac5a0b728.tar.gz
platform_external_arm-trusted-firmware-afe62624c313b78778d4bb4962f5141ac5a0b728.tar.bz2
platform_external_arm-trusted-firmware-afe62624c313b78778d4bb4962f5141ac5a0b728.zip
Check for out-of-bound accesses in the platform io policies
The platform io policies array is now always accessed through a fconf getter. This gives us an ideal spot to check for out-of-bound accesses. Remove the assertion in plat_get_image_source(), which is now redundant. Change-Id: Iefe808d530229073b68cbd164d927b8b6662a217 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Diffstat (limited to 'include')
-rw-r--r--include/plat/arm/common/arm_fconf_getter.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/plat/arm/common/arm_fconf_getter.h b/include/plat/arm/common/arm_fconf_getter.h
index 28913a43f..8fd8c7ada 100644
--- a/include/plat/arm/common/arm_fconf_getter.h
+++ b/include/plat/arm/common/arm_fconf_getter.h
@@ -7,10 +7,15 @@
#ifndef ARM_FCONF_GETTER
#define ARM_FCONF_GETTER
+#include <assert.h>
+
#include <lib/fconf/fconf.h>
/* ARM io policies */
-#define arm__io_policies_getter(id) &policies[id]
+#define arm__io_policies_getter(id) __extension__ ({ \
+ assert((id) < MAX_NUMBER_IDS); \
+ &policies[id]; \
+})
struct plat_io_policy {
uintptr_t *dev_handle;