The branch master has been updated via 40c60b0d7389aa479cf7474a080737e901944d0d (commit) via e7e5d608fb6cef9929a2cf56d72fa7e236ca7573 (commit) via 3f8d1216df7a4314fca77b6ee6fe9fc814fcd909 (commit) from bb982ce7532eb5f5f8d66211d556940a7f407496 (commit)
- Log ----------------------------------------------------------------- commit 40c60b0d7389aa479cf7474a080737e901944d0d Author: Tomas Mraz <tm...@fedoraproject.org> Date: Mon Aug 15 12:02:06 2016 +0200 Avoid truncating the pointer on x32 platform. The 64 bit pointer must not be cast to 32bit unsigned long on x32 platform. Reviewed-by: Tim Hudson <t...@openssl.org> Reviewed-by: Matt Caswell <m...@openssl.org> commit e7e5d608fb6cef9929a2cf56d72fa7e236ca7573 Author: Tomas Mraz <tm...@fedoraproject.org> Date: Wed Aug 10 15:21:32 2016 +0200 Add a comment for the added cast with explanation. Reviewed-by: Tim Hudson <t...@openssl.org> Reviewed-by: Matt Caswell <m...@openssl.org> commit 3f8d1216df7a4314fca77b6ee6fe9fc814fcd909 Author: Tomas Mraz <tm...@fedoraproject.org> Date: Tue Aug 9 12:50:13 2016 +0200 Fix af_alg engine failure on 32 bit architectures. Add extra cast to unsigned long to avoid sign extension when converting pointer to 64 bit data. Reviewed-by: Tim Hudson <t...@openssl.org> Reviewed-by: Matt Caswell <m...@openssl.org> ----------------------------------------------------------------------- Summary of changes: engines/afalg/e_afalg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/engines/afalg/e_afalg.c b/engines/afalg/e_afalg.c index 2e7ce34..2ea5ba5 100644 --- a/engines/afalg/e_afalg.c +++ b/engines/afalg/e_afalg.c @@ -230,7 +230,15 @@ int afalg_fin_cipher_aio(afalg_aio *aio, int sfd, unsigned char *buf, memset(cb, '\0', sizeof(*cb)); cb->aio_fildes = sfd; cb->aio_lio_opcode = IOCB_CMD_PREAD; - cb->aio_buf = (uint64_t)buf; + if (sizeof(buf) != sizeof(cb->aio_buf)) { + /* + * The pointer has to be converted to 32 bit unsigned value first + * to avoid sign extension on cast to 64 bit value + */ + cb->aio_buf = (uint64_t)(unsigned long)buf; + } else { + cb->aio_buf = (uint64_t)buf; + } cb->aio_offset = 0; cb->aio_data = 0; cb->aio_nbytes = len; _____ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits