Fix af_alg engine failure on 32 bit architectures.
authorTomas Mraz <tmraz@fedoraproject.org>
Tue, 9 Aug 2016 10:50:13 +0000 (12:50 +0200)
committerMatt Caswell <matt@openssl.org>
Mon, 15 Aug 2016 22:30:45 +0000 (23:30 +0100)
Add extra cast to unsigned long to avoid sign extension when
converting pointer to 64 bit data.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
engines/afalg/e_afalg.c

index 2e7ce34..456ffda 100644 (file)
@@ -230,7 +230,7 @@ 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;
+    cb->aio_buf = (uint64_t)(unsigned long)buf;
     cb->aio_offset = 0;
     cb->aio_data = 0;
     cb->aio_nbytes = len;