aboutsummaryrefslogtreecommitdiff
path: root/core/crypto/aes-gcm-sw.c
diff options
context:
space:
mode:
authorSummer Qin <summer.qin@arm.com>2018-07-02 14:19:42 +0800
committerJérôme Forissier <jerome.forissier@linaro.org>2019-03-22 20:09:28 +0100
commite7dbc357e4f927150836fae68da133dd7de4da2f (patch)
tree70999faa5d2625ca670b31fa1b5a51879b035ab2 /core/crypto/aes-gcm-sw.c
parentfcd21d9eaa85eea432685af2d565477f7ca4a526 (diff)
core: add encrypt key length in AES encrypt API
Adds size of expanded AES encryption key to crypto_aes_expand_enc_key() and crypto_aes_enc_block() to make the functions more safe to call. Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Summer Qin <summer.qin@arm.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/crypto/aes-gcm-sw.c')
-rw-r--r--core/crypto/aes-gcm-sw.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/crypto/aes-gcm-sw.c b/core/crypto/aes-gcm-sw.c
index 5c59bf16..b651d5e0 100644
--- a/core/crypto/aes-gcm-sw.c
+++ b/core/crypto/aes-gcm-sw.c
@@ -79,12 +79,17 @@ void __weak
internal_aes_gcm_encrypt_block(const struct internal_aes_gcm_key *ek,
const void *src, void *dst)
{
- crypto_aes_enc_block(ek->data, ek->rounds, src, dst);
+ size_t ek_len = sizeof(ek->data);
+
+ crypto_aes_enc_block(ek->data, ek_len, ek->rounds, src, dst);
}
TEE_Result __weak
internal_aes_gcm_expand_enc_key(const void *key, size_t key_len,
struct internal_aes_gcm_key *ek)
{
- return crypto_aes_expand_enc_key(key, key_len, ek->data, &ek->rounds);
+ size_t ek_len = sizeof(ek->data);
+
+ return crypto_aes_expand_enc_key(key, key_len, ek->data, ek_len,
+ &ek->rounds);
}