aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManish V Badarkhe <Manish.Badarkhe@arm.com>2020-06-29 07:17:24 +0100
committerManish V Badarkhe <Manish.Badarkhe@arm.com>2020-06-29 14:01:03 +0100
commit1d60052e995b13ec49ba0b320a5056ce8e7a962a (patch)
treeac4689d592a5ef28fbd4adf4e04d2223baed64d9
parenta021b2dd871bba7cbbb578f53105a477ba5bda54 (diff)
downloadtrusted-firmware-a-1d60052e995b13ec49ba0b320a5056ce8e7a962a.tar.gz
plat/arm: Add assert for the valid address of dtb information
Added assert in the code to check valid address of dtb information structure retrieved from fw_config device tree. This patch fixes coverity defect:360213. Also, removed conditional calling of "fconf_populate" as "fconf_populate" function already checks the validity of the device tree address received and go to panic in case of address is NULL. Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: Ib83e4e84a95e2456a12c7a2bb3fe70461d882cba
-rw-r--r--plat/arm/common/arm_bl2_setup.c10
-rw-r--r--plat/arm/common/arm_dyn_cfg.c4
2 files changed, 8 insertions, 6 deletions
diff --git a/plat/arm/common/arm_bl2_setup.c b/plat/arm/common/arm_bl2_setup.c
index e4a4f8724..fd60c2bd3 100644
--- a/plat/arm/common/arm_bl2_setup.c
+++ b/plat/arm/common/arm_bl2_setup.c
@@ -62,15 +62,13 @@ void arm_bl2_early_platform_setup(uintptr_t fw_config,
bl2_tzram_layout = *mem_layout;
/* Fill the properties struct with the info from the config dtb */
- if (fw_config != 0U) {
- fconf_populate("FW_CONFIG", fw_config);
- }
+ fconf_populate("FW_CONFIG", fw_config);
/* TB_FW_CONFIG was also loaded by BL1 */
tb_fw_config_info = FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID);
- if (tb_fw_config_info != NULL) {
- fconf_populate("TB_FW", tb_fw_config_info->config_addr);
- }
+ assert(tb_fw_config_info != NULL);
+
+ fconf_populate("TB_FW", tb_fw_config_info->config_addr);
/* Initialise the IO layer and register platform IO devices */
plat_arm_io_setup();
diff --git a/plat/arm/common/arm_dyn_cfg.c b/plat/arm/common/arm_dyn_cfg.c
index a28e0ccff..633445bad 100644
--- a/plat/arm/common/arm_dyn_cfg.c
+++ b/plat/arm/common/arm_dyn_cfg.c
@@ -93,6 +93,8 @@ void arm_bl1_set_mbedtls_heap(void)
*/
tb_fw_config_info = FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID);
+ assert(tb_fw_config_info != NULL);
+
tb_fw_cfg_dtb = tb_fw_config_info->config_addr;
if ((tb_fw_cfg_dtb != 0UL) && (mbedtls_heap_addr != NULL)) {
@@ -134,6 +136,8 @@ void arm_bl1_set_bl2_hash(image_desc_t *image_desc)
const struct dyn_cfg_dtb_info_t *tb_fw_config_info;
tb_fw_config_info = FCONF_GET_PROPERTY(dyn_cfg, dtb, TB_FW_CONFIG_ID);
+ assert(tb_fw_config_info != NULL);
+
tb_fw_cfg_dtb = tb_fw_config_info->config_addr;
/*