For provided ciphers, EVP_CIPHER_CTX_ctrl() with EVP_CTRL_INIT always returns 1
This control command should never be used with provided methods, but
since this is publically available, someone might still make the
mistake.  We make sure it returns 1 so as not to be overly
disruptive.
@@ -1089,8 +1089,16 @@ int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr)
ptr, sz);
break;
+ case EVP_CTRL_INIT:
+ /*
+ * TODO(3.0) EVP_CTRL_INIT is purely legacy, no provider counterpart
+ * As a matter of fact, this should be dead code, but some caller
+ * might still do a direct control call with this command, so...
+ * Legacy methods return 1 except for exceptional circumstances, so
+ * we do the same here to not be disruptive.
+ */
+ return 1;
case EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS: /* Used by DASYNC */
- case EVP_CTRL_INIT: /* TODO(3.0) Purely legacy, no provider counterpart */
default:
goto end;
case EVP_CTRL_GET_IV:
