Fix references to non-standard SIZE_T_MAX
Turns out C99 doesn't define SIZE_T_MAX, so let's not use it.
diff --git a/include/polarssl/base64.h b/include/polarssl/base64.h
index f862192..bdd0c41 100644
--- a/include/polarssl/base64.h
+++ b/include/polarssl/base64.h
@@ -25,7 +25,6 @@
#define POLARSSL_BASE64_H
#include <stddef.h>
-#include <limits.h>
#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 c743511..7de87e5 100644
--- a/library/base64.c
+++ b/library/base64.c
@@ -75,6 +75,8 @@
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 @@
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 2b1155b..c97f16d 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -39,7 +39,6 @@
#include "polarssl/bn_mul.h"
#include <string.h>
-#include <limits.h>
#if defined(POLARSSL_PLATFORM_C)
#include "polarssl/platform.h"
@@ -60,6 +59,8 @@
#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 @@
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 );