Fix references to non-standard SIZE_T_MAX

Turns out C99 doesn't define SIZE_T_MAX, so let's not use it.
This commit is contained in:
Manuel Pégourié-Gonnard 2015-10-05 15:23:11 +01:00
parent 86ff4874a4
commit 2d7083435d
3 changed files with 9 additions and 6 deletions

View file

@ -24,7 +24,6 @@
#define MBEDTLS_BASE64_H #define MBEDTLS_BASE64_H
#include <stddef.h> #include <stddef.h>
#include <limits.h>
#define MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL -0x002A /**< Output buffer too small. */ #define MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL -0x002A /**< Output buffer too small. */
#define MBEDTLS_ERR_BASE64_INVALID_CHARACTER -0x002C /**< Invalid character in input. */ #define MBEDTLS_ERR_BASE64_INVALID_CHARACTER -0x002C /**< Invalid character in input. */
@ -46,7 +45,8 @@ extern "C" {
* *olen is always updated to reflect the amount * *olen is always updated to reflect the amount
* of data that has (or would have) been written. * of data that has (or would have) been written.
* If that length cannot be represented, then no data is * If that length cannot be represented, then no data is
* written to the buffer and *olen is set to SIZE_T_MAX. * written to the buffer and *olen is set to the maximum
* length representable as a size_t.
* *
* \note Call this function with dlen = 0 to obtain the * \note Call this function with dlen = 0 to obtain the
* required buffer size in *olen * required buffer size in *olen

View file

@ -69,6 +69,8 @@ static const unsigned char base64_dec_map[128] =
49, 50, 51, 127, 127, 127, 127, 127 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 * Encode a buffer into base64 format
*/ */
@ -87,9 +89,9 @@ int mbedtls_base64_encode( unsigned char *dst, size_t dlen, size_t *olen,
n = slen / 3 + ( slen % 3 != 0 ); n = slen / 3 + ( slen % 3 != 0 );
if( n > ( SIZE_T_MAX - 1 ) / 4 ) if( n > ( BASE64_SIZE_T_MAX - 1 ) / 4 )
{ {
*olen = SIZE_T_MAX; *olen = BASE64_SIZE_T_MAX;
return( MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL ); return( MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL );
} }

View file

@ -38,7 +38,6 @@
#include "mbedtls/bn_mul.h" #include "mbedtls/bn_mul.h"
#include <string.h> #include <string.h>
#include <limits.h>
#if defined(MBEDTLS_PLATFORM_C) #if defined(MBEDTLS_PLATFORM_C)
#include "mbedtls/platform.h" #include "mbedtls/platform.h"
@ -59,6 +58,8 @@ static void mbedtls_zeroize( void *v, size_t n ) {
#define biL (ciL << 3) /* bits in limb */ #define biL (ciL << 3) /* bits in limb */
#define biH (ciL << 2) /* half limb size */ #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 * Convert between bits/chars and number of limbs
* Divide first in order to avoid potential overflows * Divide first in order to avoid potential overflows
@ -411,7 +412,7 @@ int mbedtls_mpi_read_string( mbedtls_mpi *X, int radix, const char *s )
if( radix == 16 ) if( radix == 16 )
{ {
if( slen > SIZE_T_MAX >> 2 ) if( slen > MPI_SIZE_T_MAX >> 2 )
return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA ); return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA );
n = BITS_TO_LIMBS( slen << 2 ); n = BITS_TO_LIMBS( slen << 2 );