Instead of a local hack, implement SIZE_MAX in numbers.h if it's missing
Reviewed-by: Stephen Henson <steve@openssl.org>
diff --git a/include/internal/numbers.h b/include/internal/numbers.h
index 1f79ef7..da06dab 100644
--- a/include/internal/numbers.h
+++ b/include/internal/numbers.h
@@ -105,5 +105,9 @@
# define UINT64_MAX __MAXUINT__(uint64_t)
# endif
+# ifndef SIZE_MAX
+# define SIZE_MAX __MAXUINT__(size_t)
+# endif
+
#endif
diff --git a/ssl/packet_locl.h b/ssl/packet_locl.h
index 48a5f3d..ed7c1ca 100644
--- a/ssl/packet_locl.h
+++ b/ssl/packet_locl.h
@@ -65,6 +65,8 @@
# include <openssl/crypto.h>
# include <openssl/e_os2.h>
+# include "internal/numbers.h"
+
# ifdef __cplusplus
extern "C" {
# endif
@@ -111,13 +113,8 @@
size_t len)
{
/* Sanity check for negative values. */
-#ifdef SIZE_MAX
if (len > (size_t)(SIZE_MAX / 2))
return 0;
-#else
- if (len > ((size_t)2 << (sizeof(size_t) * 8 - 1)))
- return 0;
-#endif
pkt->curr = buf;
pkt->remaining = len;