Skip to content

Commit 8269077

Browse files
committed
Merge remote-tracking branch 'origin/pr/2623' into development
* origin/pr/2623: Adapt ChangeLog Fix mpi_bigendian_to_host() on bigendian systems
2 parents 3cadc62 + 5f9aa2b commit 8269077

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

library/bignum.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -742,10 +742,15 @@ int mbedtls_mpi_write_file( const char *p, const mbedtls_mpi *X, int radix, FILE
742742
static mbedtls_mpi_uint mpi_uint_bigendian_to_host_c( mbedtls_mpi_uint x )
743743
{
744744
uint8_t i;
745+
unsigned char *x_ptr;
745746
mbedtls_mpi_uint tmp = 0;
746-
/* This works regardless of the endianness. */
747-
for( i = 0; i < ciL; i++, x >>= 8 )
748-
tmp |= ( x & 0xFF ) << ( ( ciL - 1 - i ) << 3 );
747+
748+
for( i = 0, x_ptr = (unsigned char*) &x; i < ciL; i++, x_ptr++ )
749+
{
750+
tmp <<= CHAR_BIT;
751+
tmp |= (mbedtls_mpi_uint) *x_ptr;
752+
}
753+
749754
return( tmp );
750755
}
751756

0 commit comments

Comments
 (0)