aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/internal/numbers.h4
-rw-r--r--ssl/packet_locl.h7
2 files changed, 6 insertions, 5 deletions
diff --git a/include/internal/numbers.h b/include/internal/numbers.h
index 1f79ef7972..da06dab7a6 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 48a5f3d7dc..ed7c1ca129 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 @@ __owur static ossl_inline int PACKET_buf_init(PACKET *pkt, unsigned char *buf,
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;