X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fe_aes.c;h=435d9ea772da7d24416b034fa164eaf229b3615f;hp=8b31388690e62c9f042fbcaef0013a52ea255d12;hb=d57d135c33938dfdac441c98b2c40183a8cb66b0;hpb=646e8c1d6b30a2ed080ce5b968b49d234b42644f diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 8b31388690..435d9ea772 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -2225,15 +2225,15 @@ static int aes_ocb_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) octx->ivlen = arg; return 1; - case EVP_CTRL_OCB_SET_TAGLEN: - /* Tag len must be 0 to 16 */ - if (arg < 0 || arg > 16) - return 0; - - octx->taglen = arg; - return 1; - case EVP_CTRL_SET_TAG: + if (!ptr) { + /* Tag len must be 0 to 16 */ + if (arg < 0 || arg > 16) + return 0; + + octx->taglen = arg; + return 1; + } if (arg != octx->taglen || c->encrypt) return 0; memcpy(octx->tag, ptr, arg);