test/wpackettest.c:282: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - [0, 1]):unsigned64 by call to `WPACKET_finish`.
Showing all 10 steps of the trace


test/wpackettest.c:259:17: Call
257.               || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_NON_ZERO_LENGTH))
258.                   /* Should fail because of zero length */
259.               || !TEST_false(WPACKET_finish(&pkt))
                       ^
260.               || !TEST_true(WPACKET_put_bytes_u8(&pkt, 0xff))
261.               || !TEST_true(WPACKET_finish(&pkt))

ssl/packet.c:255:1: Parameter `pkt->subs->lenbytes`
  253.   }
  254.   
  255. > int WPACKET_finish(WPACKET *pkt)
  256.   {
  257.       int ret;

test/wpackettest.c:282:17: Call
280.       if (!TEST_true(WPACKET_init_len(&pkt, buf, 1))
281.               || !TEST_true(WPACKET_set_flags(&pkt, WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH))
282.               || !TEST_true(WPACKET_finish(&pkt))
                       ^
283.               || !TEST_true(WPACKET_get_total_written(&pkt, &written))
284.               || !TEST_size_t_eq(written, 0))

ssl/packet.c:255:1: Parameter `pkt->curr`
  253.   }
  254.   
  255. > int WPACKET_finish(WPACKET *pkt)
  256.   {
  257.       int ret;

ssl/packet.c:266:11: Call
  264.           return 0;
  265.   
  266.       ret = wpacket_intern_close(pkt, pkt->subs, 1);
                   ^
  267.       if (ret) {
  268.           OPENSSL_free(pkt->subs);

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

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

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

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

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