Replace EVP_CTRL_OCB_SET_TAGLEN with EVP_CTRL_SET_TAG for consistency with
[openssl.git] / crypto / evp / e_aes.c
index 8b31388690e62c9f042fbcaef0013a52ea255d12..435d9ea772da7d24416b034fa164eaf229b3615f 100644 (file)
@@ -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);