aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2018-09-03 11:29:11 +0100
committerGitHub <noreply@github.com>2018-09-03 11:29:11 +0100
commit100992b531f6dc5fadb7326216f430531b21dba7 (patch)
tree1e34ed7c5195a96df22d1cdb26b6d4c0745921bb /lib
parentd853d3b2de8d7bdbcd445c086c1df4c54bdc25c8 (diff)
parentb554e768297d205662fcd23da384d33a94a320c7 (diff)
downloadplatform_external_arm-trusted-firmware-100992b531f6dc5fadb7326216f430531b21dba7.tar.gz
platform_external_arm-trusted-firmware-100992b531f6dc5fadb7326216f430531b21dba7.tar.bz2
platform_external_arm-trusted-firmware-100992b531f6dc5fadb7326216f430531b21dba7.zip
Merge pull request #1484 from nathan-menhorn/tee-validate-header-603
Update optee_utils.c to fix ARM-software/tf-issues#603
Diffstat (limited to 'lib')
-rw-r--r--lib/optee/optee_utils.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/lib/optee/optee_utils.c b/lib/optee/optee_utils.c
index ecf7cc057..34d095b0d 100644
--- a/lib/optee/optee_utils.c
+++ b/lib/optee/optee_utils.c
@@ -25,14 +25,15 @@ typedef struct optee_image {
#define OPTEE_PAGER_IMAGE_ID 0
#define OPTEE_PAGED_IMAGE_ID 1
-#define OPTEE_MAX_IMAGE_NUM 2
+
+#define OPTEE_MAX_NUM_IMAGES 2u
#define TEE_MAGIC_NUM_OPTEE 0x4554504f
/*
* magic: header magic number.
* version: OPTEE header version:
- * 1 - not supported
- * 2 - supported
+ * 1 - not supported
+ * 2 - supported
* arch: OPTEE os architecture type: 0 - AARCH32, 1 - AARCH64.
* flags: unused currently.
* nb_images: number of images.
@@ -53,14 +54,20 @@ typedef struct optee_header {
******************************************************************************/
static inline int tee_validate_header(optee_header_t *header)
{
+ int valid = 0;
+
if ((header->magic == TEE_MAGIC_NUM_OPTEE) &&
- (header->version == 2) &&
- (header->nb_images <= OPTEE_MAX_IMAGE_NUM)) {
- return 1;
+ (header->version == 2u) &&
+ (header->nb_images > 0u) &&
+ (header->nb_images <= OPTEE_MAX_NUM_IMAGES)) {
+ valid = 1;
}
- WARN("Not a known TEE, use default loading options.\n");
- return 0;
+ else {
+ WARN("Not a known TEE, use default loading options.\n");
+ }
+
+ return valid;
}
/*******************************************************************************