summaryrefslogtreecommitdiffstats
path: root/engines
diff options
context:
space:
mode:
authorTomas Mraz <tmraz@fedoraproject.org>2016-10-12 14:32:05 +0200
committerMatt Caswell <matt@openssl.org>2016-10-14 20:06:21 +0100
commit574cffd5d5b8f57f811c8d36d930205041deedee (patch)
tree561f7f03c69a7996f1f9d5df23aa66efc07d93a3 /engines
parent05c16493c9fb445a1ccec947de903586503d776c (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>
Diffstat (limited to 'engines')
-rw-r--r--engines/afalg/e_afalg.c4
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,