diff options
author | Tomas Mraz <tmraz@fedoraproject.org> | 2016-10-12 14:32:05 +0200 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-10-14 20:09:53 +0100 |
commit | 5389388a2b327ab5d4353e98b4e258fb683cde15 (patch) | |
tree | ef1381d3c043eebb9c8b471e07366c70e9515b25 /engines | |
parent | 1ee297e52f5df6673742130a20bcef1814f85db4 (diff) |
Engine afalg: properly set operation type also on big endian.
Copy the whole ALG_OP_TYPE to CMSG_DATA.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 574cffd5d5b8f57f811c8d36d930205041deedee)
Diffstat (limited to 'engines')
-rw-r--r-- | engines/afalg/e_afalg.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/afalg/e_afalg.c b/engines/afalg/e_afalg.c index 2c13ba80ed..658de4250b 100644 --- a/engines/afalg/e_afalg.c +++ b/engines/afalg/e_afalg.c @@ -322,12 +322,12 @@ int afalg_fin_cipher_aio(afalg_aio *aio, int sfd, unsigned char *buf, } static ossl_inline void afalg_set_op_sk(struct cmsghdr *cmsg, - const unsigned int op) + const ALG_OP_TYPE op) { cmsg->cmsg_level = SOL_ALG; cmsg->cmsg_type = ALG_SET_OP; cmsg->cmsg_len = CMSG_LEN(ALG_OP_LEN); - *CMSG_DATA(cmsg) = (char)op; + memcpy(CMSG_DATA(cmsg), &op, ALG_OP_LEN); } static void afalg_set_iv_sk(struct cmsghdr *cmsg, const unsigned char *iv, |