Ensure that the nid and key length are non-negative and that the block
size is one of the three sizes 1, 8, or 16 supported by the EVP subsystem.
ok joshua jsing
-/* $OpenBSD: cipher_method_lib.c,v 1.10 2023/07/07 19:37:53 beck Exp $ */
+/* $OpenBSD: cipher_method_lib.c,v 1.11 2023/12/20 14:05:58 tb Exp $ */
/*
* Written by Richard Levitte (levitte@openssl.org) for the OpenSSL project
* 2015.
{
EVP_CIPHER *cipher;
+ if (cipher_type < 0 || key_len < 0)
+ return NULL;
+
+ /* EVP_CipherInit() will fail for any other value. */
+ if (block_size != 1 && block_size != 8 && block_size != 16)
+ return NULL;
+
if ((cipher = calloc(1, sizeof(*cipher))) == NULL)
return NULL;