Fix strict-warnings build on FreeBSD
authorBenjamin Kaduk <kaduk@mit.edu>
Thu, 14 Mar 2019 17:55:03 +0000 (12:55 -0500)
committerRichard Levitte <levitte@openssl.org>
Tue, 19 Mar 2019 06:19:41 +0000 (07:19 +0100)
commit226f2bf191ba8c2b33749ddc80c9ace051bebf80
treee72c1438867a768b51a1f9e1b9becc923d87ac2c
parent16bfe6cee0853bd340e270f2deda6000ea6eeaa9
Fix strict-warnings build on FreeBSD

The 'key' member of the (system-defined!) struct session op is of
type c_caddr_t, which can be (signed) char, so inter-casting with the
unsigned char* input to cipher_init() causes -Wpointer-sign errors, and we
can't change the signature of cipher_init() due to the function pointer
type required by EVP_CIPHER_meth_set_init().

As the least-bad option, introduce a void* cast to quell the following
warning:
engines/e_devcrypto.c:356:36: error: passing 'c_caddr_t' (aka 'const char *') to
      parameter of type 'const unsigned char *' converts between pointers to integer
      types with different sign [-Werror,-Wpointer-sign]
        return cipher_init(to_ctx, cipher_ctx->sess.key, EVP_CIPHER_CTX_iv(ctx),
                                   ^~~~~~~~~~~~~~~~~~~~
engines/e_devcrypto.c:191:66: note: passing argument to parameter 'key' here
static int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8509)
engines/e_devcrypto.c