summaryrefslogtreecommitdiff
path: root/mpi
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2021-01-30 20:11:05 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2021-02-03 18:30:03 +0200
commit364e9e9d10503b36f98fbb1b489e00026f22c9d7 (patch)
treed0080344694e90f2b662f544d254478c0e4b79eb /mpi
parentaf23ab5c5482d625ff52e60606cf044e2b0106c8 (diff)
downloadlibgcrypt-364e9e9d10503b36f98fbb1b489e00026f22c9d7.tar.gz
Fix ubsan warnings for i386 build
* mpi/mpicoder.c (_gcry_mpi_set_buffer) [BYTES_PER_MPI_LIMB == 4]: Cast "*p--" values to mpi_limb_t before left shifting. * tests/t-lock.c (main): Cast 'time(NULL)' to unsigned type. -- Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'mpi')
-rw-r--r--mpi/mpicoder.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/mpi/mpicoder.c b/mpi/mpicoder.c
index a133421e..f61f777f 100644
--- a/mpi/mpicoder.c
+++ b/mpi/mpicoder.c
@@ -354,10 +354,10 @@ _gcry_mpi_set_buffer (gcry_mpi_t a, const void *buffer_arg,
for (i=0, p = buffer+nbytes-1; p >= buffer+BYTES_PER_MPI_LIMB; )
{
#if BYTES_PER_MPI_LIMB == 4
- alimb = *p-- ;
- alimb |= *p-- << 8 ;
- alimb |= *p-- << 16 ;
- alimb |= *p-- << 24 ;
+ alimb = (mpi_limb_t)*p-- ;
+ alimb |= (mpi_limb_t)*p-- << 8 ;
+ alimb |= (mpi_limb_t)*p-- << 16 ;
+ alimb |= (mpi_limb_t)*p-- << 24 ;
#elif BYTES_PER_MPI_LIMB == 8
alimb = (mpi_limb_t)*p-- ;
alimb |= (mpi_limb_t)*p-- << 8 ;
@@ -375,13 +375,13 @@ _gcry_mpi_set_buffer (gcry_mpi_t a, const void *buffer_arg,
if ( p >= buffer )
{
#if BYTES_PER_MPI_LIMB == 4
- alimb = *p--;
+ alimb = (mpi_limb_t)*p--;
if (p >= buffer)
- alimb |= *p-- << 8;
+ alimb |= (mpi_limb_t)*p-- << 8;
if (p >= buffer)
- alimb |= *p-- << 16;
+ alimb |= (mpi_limb_t)*p-- << 16;
if (p >= buffer)
- alimb |= *p-- << 24;
+ alimb |= (mpi_limb_t)*p-- << 24;
#elif BYTES_PER_MPI_LIMB == 8
alimb = (mpi_limb_t)*p--;
if (p >= buffer)