ssl/tls13_enc.c:55: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `WPACKET_close`.
Showing all 11 steps of the trace


ssl/tls13_enc.c:52:17: Call
50.       if (!WPACKET_init_static_len(&pkt, hkdflabel, sizeof(hkdflabel), 0)
51.               || !WPACKET_put_bytes_u16(&pkt, outlen)
52.               || !WPACKET_start_sub_packet_u8(&pkt)
                      ^
53.               || !WPACKET_memcpy(&pkt, label_prefix, sizeof(label_prefix) - 1)
54.               || !WPACKET_memcpy(&pkt, label, labellen)

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

ssl/packet.c:286:5: Assignment
  284.       pkt->subs = sub;
  285.       sub->pwritten = pkt->written + lenbytes;
  286.       sub->lenbytes = lenbytes;
             ^
  287.   
  288.       if (lenbytes == 0) {

ssl/tls13_enc.c:55:17: Call
53.               || !WPACKET_memcpy(&pkt, label_prefix, sizeof(label_prefix) - 1)
54.               || !WPACKET_memcpy(&pkt, label, labellen)
55.               || !WPACKET_close(&pkt)
                      ^
56.               || !WPACKET_sub_memcpy_u8(&pkt, data, (data == NULL) ? 0 : datalen)
57.               || !WPACKET_get_total_written(&pkt, &hkdflabellen)

ssl/packet.c:238:1: Parameter `pkt->curr`
  236.   }
  237.   
  238. > int WPACKET_close(WPACKET *pkt)
  239.   {
  240.       /*

ssl/packet.c:247:12: Call
  245.           return 0;
  246.   
  247.       return wpacket_intern_close(pkt, pkt->subs, 1);
                    ^
  248.   }
  249.   

ssl/packet.c:184:1: <LHS trace>
182.    * (i.e. it fills in all the lengths), but doesn't actually close anything.
183.    */
184. > static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
185.   {
186.       size_t packlen = pkt->written - sub->pwritten;

ssl/packet.c:184:1: Parameter `pkt->curr`
    182.    * (i.e. it fills in all the lengths), but doesn't actually close anything.
    183.    */
    184. > static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
    185.   {
    186.       size_t packlen = pkt->written - sub->pwritten;

ssl/packet.c:184:1: <RHS trace>
182.    * (i.e. it fills in all the lengths), but doesn't actually close anything.
183.    */
184. > static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
185.   {
186.       size_t packlen = pkt->written - sub->pwritten;

ssl/packet.c:184:1: Parameter `sub->lenbytes`
    182.    * (i.e. it fills in all the lengths), but doesn't actually close anything.
    183.    */
    184. > static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
    185.   {
    186.       size_t packlen = pkt->written - sub->pwritten;

ssl/packet.c:199:13: Binary operation: ([0, +oo] - 1):unsigned64 by call to `WPACKET_close` 
    197.   
    198.           /* Deallocate any bytes allocated for the length of the WPACKET */
    199.           if ((pkt->curr - sub->lenbytes) == sub->packet_len) {
                       ^
    200.               pkt->written -= sub->lenbytes;
    201.               pkt->curr -= sub->lenbytes;
