diff --git a/common/auth/polarssl/polarssl.c b/common/auth/polarssl/polarssl.c index 82c8b33..b55a7fc 100644 --- a/common/auth/polarssl/polarssl.c +++ b/common/auth/polarssl/polarssl.c @@ -32,7 +32,6 @@ #include -#include #include #include #include @@ -267,7 +266,11 @@ goto error; } - assert(sz == SHA256_DER_BYTES); + if (sz != SHA256_DER_BYTES) { + ERROR("Wrong BL2 hash size: %lu\n", sz); + err = 1; + goto error; + } memcpy(sha_bl2, p, SHA256_DER_BYTES); error: @@ -324,7 +327,11 @@ goto error; } - assert(tz_world_pk_len <= RSA_PUB_DER_MAX_BYTES); + if (tz_world_pk_len > RSA_PUB_DER_MAX_BYTES) { + ERROR("Wrong RSA key size: %lu\n", tz_world_pk_len); + err = 1; + goto error; + } memcpy(tz_world_pk, p, tz_world_pk_len); /* Extract Non-Trusted World key from extensions */ @@ -335,7 +342,11 @@ goto error; } - assert(tz_world_pk_len <= RSA_PUB_DER_MAX_BYTES); + if (ntz_world_pk_len > RSA_PUB_DER_MAX_BYTES) { + ERROR("Wrong RSA key size: %lu\n", ntz_world_pk_len); + err = 1; + goto error; + } memcpy(ntz_world_pk, p, ntz_world_pk_len); error: @@ -392,7 +403,11 @@ goto error; } - assert(sz <= RSA_PUB_DER_MAX_BYTES); + if (sz > RSA_PUB_DER_MAX_BYTES) { + ERROR("Wrong RSA key size: %lu\n", sz); + err = 1; + goto error; + } memcpy(s_key, p, sz); *s_key_len = sz; @@ -446,7 +461,11 @@ goto error; } - assert(sz == SHA256_DER_BYTES); + if (sz != SHA256_DER_BYTES) { + ERROR("Wrong image hash length: %lu\n", sz); + err = 1; + goto error; + } memcpy(sha, p, SHA256_DER_BYTES); error: