aboutsummaryrefslogtreecommitdiffstats
path: root/engines
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2017-04-24 11:19:56 -0400
committerRich Salz <rsalz@openssl.org>2017-04-24 11:19:56 -0400
commita68d35057ba2676bc9b9a16f4952791eef4b9905 (patch)
treecee147a6cb868831059255f154b43ae24c3859b7 /engines
parent8af91fd9d08487e0dffb6ccac5f42633c964f3f0 (diff)
downloadopenssl-a68d35057ba2676bc9b9a16f4952791eef4b9905.tar.gz
check length sanity before correcting in EVP_CTRL_AEAD_TLS1_AAD
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3289)
Diffstat (limited to 'engines')
-rw-r--r--engines/e_dasync.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/e_dasync.c b/engines/e_dasync.c
index 89b12775b1..4e3e9369fc 100644
--- a/engines/e_dasync.c
+++ b/engines/e_dasync.c
@@ -606,6 +606,8 @@ static int dasync_cipher_ctrl_helper(EVP_CIPHER_CTX *ctx, int type, int arg,
if (pipe_ctx->enc) {
if ((p[arg - 4] << 8 | p[arg - 3]) >= TLS1_1_VERSION) {
+ if (len < AES_BLOCK_SIZE)
+ return 0;
len -= AES_BLOCK_SIZE;
}