diff --git a/include/polarssl/base64.h b/include/polarssl/base64.h index f86219248..bdd0c4106 100644 --- a/include/polarssl/base64.h +++ b/include/polarssl/base64.h @@ -25,7 +25,6 @@ #define POLARSSL_BASE64_H #include -#include #define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL -0x002A /**< Output buffer too small. */ #define POLARSSL_ERR_BASE64_INVALID_CHARACTER -0x002C /**< Invalid character in input. */ diff --git a/library/base64.c b/library/base64.c index c74351158..7de87e51c 100644 --- a/library/base64.c +++ b/library/base64.c @@ -75,6 +75,8 @@ static const unsigned char base64_dec_map[128] = 49, 50, 51, 127, 127, 127, 127, 127 }; +#define BASE64_SIZE_T_MAX ( (size_t) -1 ) /* SIZE_T_MAX is not standard */ + /* * Encode a buffer into base64 format */ @@ -93,9 +95,9 @@ int base64_encode( unsigned char *dst, size_t *dlen, n = slen / 3 + ( slen % 3 != 0 ); - if( n > ( SIZE_T_MAX - 1 ) / 4 ) + if( n > ( BASE64_SIZE_T_MAX - 1 ) / 4 ) { - *dlen = SIZE_T_MAX; + *dlen = BASE64_SIZE_T_MAX; return( POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL ); } diff --git a/library/bignum.c b/library/bignum.c index 2b1155bb9..c97f16d36 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -39,7 +39,6 @@ #include "polarssl/bn_mul.h" #include -#include #if defined(POLARSSL_PLATFORM_C) #include "polarssl/platform.h" @@ -60,6 +59,8 @@ static void polarssl_zeroize( void *v, size_t n ) { #define biL (ciL << 3) /* bits in limb */ #define biH (ciL << 2) /* half limb size */ +#define MPI_SIZE_T_MAX ( (size_t) -1 ) /* SIZE_T_MAX is not standard */ + /* * Convert between bits/chars and number of limbs * Divide first in order to avoid potential overflows @@ -416,7 +417,7 @@ int mpi_read_string( mpi *X, int radix, const char *s ) if( radix == 16 ) { - if( slen > SIZE_T_MAX >> 2 ) + if( slen > MPI_SIZE_T_MAX >> 2 ) return( POLARSSL_ERR_MPI_BAD_INPUT_DATA ); n = BITS_TO_LIMBS( slen << 2 );