ssl/t1_lib.c:1077: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - [0, `s->s3->previous_client_finished_len` + `pkt->written` + `s->tlsext_hostname->strlen` + 27]):unsigned64 by call to `WPACKET_start_sub_packet_len__`.
Showing all 10 steps of the trace


ssl/t1_lib.c:1076:21: Call
1074.           if (!WPACKET_put_bytes_u16(pkt, TLSEXT_TYPE_srp)
1075.                      /* Sub-packet for SRP extension */
1076.                   || !WPACKET_start_sub_packet_u16(pkt)
                            ^
1077.                   || !WPACKET_start_sub_packet_u8(pkt)
1078.                      /* login must not be zero...internal error if so */

ssl/packet.c:205:1: Parameter `pkt->buf->length`
  203.   }
  204.   
  205. > int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes)
  206.   {
  207.       WPACKET_SUB *sub;

ssl/t1_lib.c:1077:21: Call
1075.                      /* Sub-packet for SRP extension */
1076.                   || !WPACKET_start_sub_packet_u16(pkt)
1077.                   || !WPACKET_start_sub_packet_u8(pkt)
                            ^
1078.                      /* login must not be zero...internal error if so */
1079.                   || !WPACKET_set_flags(pkt, WPACKET_FLAGS_NON_ZERO_LENGTH)

ssl/packet.c:205:1: Parameter `pkt->written`
  203.   }
  204.   
  205. > int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes)
  206.   {
  207.       WPACKET_SUB *sub;

ssl/packet.c:229:10: Call
  227.       }
  228.   
  229.       if (!WPACKET_allocate_bytes(pkt, lenbytes, &lenchars))
                  ^
  230.           return 0;
  231.       /* Convert to an offset in case the underlying BUF_MEM gets realloc'd */

ssl/packet.c:15:1: <LHS trace>
13.   #define DEFAULT_BUF_SIZE    256
14.   
15. > int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
16.   {
17.       /* Internal API, so should not fail */

ssl/packet.c:15:1: Parameter `pkt->buf->length`
    13.   #define DEFAULT_BUF_SIZE    256
    14.   
    15. > int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
    16.   {
    17.       /* Internal API, so should not fail */

ssl/packet.c:15:1: <RHS trace>
13.   #define DEFAULT_BUF_SIZE    256
14.   
15. > int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
16.   {
17.       /* Internal API, so should not fail */

ssl/packet.c:15:1: Parameter `len`
    13.   #define DEFAULT_BUF_SIZE    256
    14.   
    15. > int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
    16.   {
    17.       /* Internal API, so should not fail */

ssl/packet.c:25:9: Binary operation: ([0, +oo] - [0, s->s3->previous_client_finished_len + pkt->written + s->tlsext_hostname->strlen + 27]):unsigned64 by call to `WPACKET_start_sub_packet_len__` 
    23.           return 0;
    24.   
    25.       if (pkt->buf->length - pkt->written < len) {
                  ^
    26.           size_t newlen;
    27.           size_t reflen;
