ssl/statem/statem_clnt.c:3426: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - [`pkt->written`, `pkt->written` + 1]):unsigned64 by call to `ssl3_output_cert_chain`.
Showing all 13 steps of the trace


ssl/statem/statem_clnt.c:3415:1: Parameter `pkt->written`
3413.   }
3414.   
3415. > int tls_construct_client_certificate(SSL *s, WPACKET *pkt)
3416.   {
3417.       /*

ssl/statem/statem_clnt.c:3426:10: Call
3424.           return 0;
3425.       }
3426.       if (!ssl3_output_cert_chain(s, pkt,
                 ^
3427.                                   (s->s3->tmp.cert_req == 2) ? NULL
3428.                                                              : s->cert->key)) {

ssl/statem/statem_lib.c:968:1: Parameter `pkt->written`
  966.   }
  967.   
  968. > unsigned long ssl3_output_cert_chain(SSL *s, WPACKET *pkt, CERT_PKEY *cpk)
  969.   {
  970.       if (!WPACKET_start_sub_packet_u24(pkt)) {

ssl/statem/statem_lib.c:970:10: Call
  968.   unsigned long ssl3_output_cert_chain(SSL *s, WPACKET *pkt, CERT_PKEY *cpk)
  969.   {
  970.       if (!WPACKET_start_sub_packet_u24(pkt)) {
                  ^
  971.           SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_OUTPUT_CERT_CHAIN,
  972.                    ERR_R_INTERNAL_ERROR);

ssl/packet.c:270:1: Parameter `pkt->written`
    268.   }
    269.   
    270. > int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes)
    271.   {
    272.       WPACKET_SUB *sub;

ssl/packet.c:293:10: Call
    291.       }
    292.   
    293.       if (!WPACKET_allocate_bytes(pkt, lenbytes, &lenchars))
                    ^
    294.           return 0;
    295.       /* Convert to an offset in case the underlying BUF_MEM gets realloc'd */

ssl/packet.c:15:1: Parameter `pkt->written`
      13.   #define DEFAULT_BUF_SIZE    256
      14.   
      15. > int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
      16.   {
      17.       if (!WPACKET_reserve_bytes(pkt, len, allocbytes))

ssl/packet.c:17:10: Call
      15.   int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
      16.   {
      17.       if (!WPACKET_reserve_bytes(pkt, len, allocbytes))
                     ^
      18.           return 0;
      19.   

ssl/packet.c:39:1: <LHS trace>
37.                        ? (p)->staticbuf : (unsigned char *)(p)->buf->data)
38.   
39. > int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
40.   {
41.       /* Internal API, so should not fail */

ssl/packet.c:39:1: Parameter `pkt->buf->length`
        37.                        ? (p)->staticbuf : (unsigned char *)(p)->buf->data)
        38.   
        39. > int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
        40.   {
        41.       /* Internal API, so should not fail */

ssl/packet.c:39:1: <RHS trace>
37.                        ? (p)->staticbuf : (unsigned char *)(p)->buf->data)
38.   
39. > int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
40.   {
41.       /* Internal API, so should not fail */

ssl/packet.c:39:1: Parameter `len`
        37.                        ? (p)->staticbuf : (unsigned char *)(p)->buf->data)
        38.   
        39. > int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
        40.   {
        41.       /* Internal API, so should not fail */

ssl/packet.c:48:36: Binary operation: ([0, +oo] - [pkt->written, pkt->written + 1]):unsigned64 by call to `ssl3_output_cert_chain` 
        46.           return 0;
        47.   
        48.       if (pkt->staticbuf == NULL && (pkt->buf->length - pkt->written < len)) {
                                                 ^
        49.           size_t newlen;
        50.           size_t reflen;
