ssl/t1_lib.c:1835: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 2):unsigned64 by call to `PACKET_forward`.
Showing all 8 steps of the trace


ssl/t1_lib.c:1835:10: Call
1833.       tmppkt = *pkt;
1834.   
1835.       if (!PACKET_forward(&tmppkt, 2)
                 ^
1836.           || !PACKET_get_net_2(&tmppkt, &type)
1837.           || !PACKET_get_length_prefixed_2(&tmppkt, &sni)) {

ssl/packet_locl.h:472:8: Parameter `len`
  470.   
  471.   /* Move the current reading position forward |len| bytes */
  472.   __owur static ossl_inline int PACKET_forward(PACKET *pkt, size_t len)
                ^
  473.   {
  474.       if (PACKET_remaining(pkt) < len)

ssl/packet_locl.h:477:5: Call
  475.           return 0;
  476.   
  477.       packet_forward(pkt, len);
             ^
  478.   
  479.       return 1;

ssl/packet_locl.h:81:1: <LHS trace>
79.   
80.   /* Internal unchecked shorthand; don't use outside this file. */
81. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
82.   {
83.       pkt->curr += len;

ssl/packet_locl.h:81:1: Parameter `pkt->remaining`
    79.   
    80.   /* Internal unchecked shorthand; don't use outside this file. */
    81. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
    82.   {
    83.       pkt->curr += len;

ssl/packet_locl.h:81:1: <RHS trace>
79.   
80.   /* Internal unchecked shorthand; don't use outside this file. */
81. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
82.   {
83.       pkt->curr += len;

ssl/packet_locl.h:81:1: Parameter `len`
    79.   
    80.   /* Internal unchecked shorthand; don't use outside this file. */
    81. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
    82.   {
    83.       pkt->curr += len;

ssl/packet_locl.h:84:5: Binary operation: ([0, +oo] - 2):unsigned64 by call to `PACKET_forward` 
    82.   {
    83.       pkt->curr += len;
    84.       pkt->remaining -= len;
              ^
    85.   }
    86.   

static ossl_inline void packet_forward(PACKET *pkt, size_t len)
{
    pkt->curr += len;
    pkt->remaining -= len;
}
['static void ssl_check_for_safari(SSL *s, const PACKET *pkt)\n{\n    unsigned int type;\n    PACKET sni, tmppkt;\n    size_t ext_len;\n    static const unsigned char kSafariExtensionsBlock[] = {\n        0x00, 0x0a,\n        0x00, 0x08,\n        0x00, 0x06,\n        0x00, 0x17,\n        0x00, 0x18,\n        0x00, 0x19,\n        0x00, 0x0b,\n        0x00, 0x02,\n        0x01,\n        0x00,\n        0x00, 0x0d,\n        0x00, 0x0c,\n        0x00, 0x0a,\n        0x05, 0x01,\n        0x04, 0x01,\n        0x02, 0x01,\n        0x04, 0x03,\n        0x02, 0x03,\n    };\n    static const size_t kSafariCommonExtensionsLength = 18;\n    tmppkt = *pkt;\n    if (!PACKET_forward(&tmppkt, 2)\n        || !PACKET_get_net_2(&tmppkt, &type)\n        || !PACKET_get_length_prefixed_2(&tmppkt, &sni)) {\n        return;\n    }\n    if (type != TLSEXT_TYPE_server_name)\n        return;\n    ext_len = TLS1_get_client_version(s) >= TLS1_2_VERSION ?\n        sizeof(kSafariExtensionsBlock) : kSafariCommonExtensionsLength;\n    s->s3->is_probably_safari = PACKET_equal(&tmppkt, kSafariExtensionsBlock,\n                                             ext_len);\n}', 'static ossl_inline void packet_forward(PACKET *pkt, size_t len)\n{\n    pkt->curr += len;\n    pkt->remaining -= len;\n}']