From 1de1d7689a81f2a3ed3348926e6a31ef79a2bc15 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sat, 2 Jan 2016 19:19:00 +0100 Subject: [PATCH] Instead of a local hack, implement SIZE_MAX in numbers.h if it's missing Reviewed-by: Stephen Henson --- include/internal/numbers.h | 4 ++++ ssl/packet_locl.h | 7 ++----- 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 # include +# 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; -- 2.50.1