summaryrefslogtreecommitdiffstats
path: root/crypto/evp/e_aes.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-06-09 23:17:06 +0100
committerDr. Stephen Henson <steve@openssl.org>2015-07-06 15:42:23 +0100
commit9cca7be11d62298b2af0722f94345012c86eaed4 (patch)
treef286daa6863d1043f284cdf838bdb6cbbd857e33 /crypto/evp/e_aes.c
parent36f038f1041f9f31878f75b567959ceae08eb34e (diff)
Relax CCM tag check.
In CCM mode don't require a tag before initialising decrypt: this allows the tag length to be set without requiring the tag. Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/evp/e_aes.c')
-rw-r--r--crypto/evp/e_aes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c
index 895e8ee4a7..f8365a2d97 100644
--- a/crypto/evp/e_aes.c
+++ b/crypto/evp/e_aes.c
@@ -1866,7 +1866,7 @@ static int aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
case EVP_CTRL_AEAD_SET_TAG:
if ((arg & 1) || arg < 4 || arg > 16)
return 0;
- if ((c->encrypt && ptr) || (!c->encrypt && !ptr))
+ if (c->encrypt && ptr)
return 0;
if (ptr) {
cctx->tag_set = 1;