Commit 36830eca authored by Richard Levitte's avatar Richard Levitte
Browse files

SIZE_MAX doesn't exist everywhere, supply an alternative



SIZE_MAX is a great macro, and does unfortunately not exist everywhere.
Since we check against half of it, using bitwise shift to calculate the
value of half SIZE_MAX should be safe enough.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
parent 3dc9589c
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -111,8 +111,13 @@ __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;