test/packettest.c:25: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `PACKET_forward`.
Showing all 12 steps of the trace


test/packettest.c:21:10: Call
19.       PACKET pkt;
20.   
21.       if (!TEST_true(PACKET_buf_init(&pkt, smbuf, sizeof(smbuf)))
               ^
22.               || !TEST_size_t_eq(PACKET_remaining(&pkt), BUF_LEN)
23.               || !TEST_true(PACKET_forward(&pkt, BUF_LEN - 1))

ssl/packet_locl.h:72:8: Parameter `pkt->remaining`
  70.    * is being used.
  71.    */
  72.   __owur static ossl_inline int PACKET_buf_init(PACKET *pkt,
               ^
  73.                                                 const unsigned char *buf,
  74.                                                 size_t len)

test/packettest.c:23:17: Call
21.       if (!TEST_true(PACKET_buf_init(&pkt, smbuf, sizeof(smbuf)))
22.               || !TEST_size_t_eq(PACKET_remaining(&pkt), BUF_LEN)
23.               || !TEST_true(PACKET_forward(&pkt, BUF_LEN - 1))
                      ^
24.               || !TEST_size_t_eq(PACKET_remaining(&pkt), 1)
25.               || !TEST_true(PACKET_forward(&pkt, 1))

ssl/packet_locl.h:467:8: Parameter `len`
  465.   
  466.   /* Move the current reading position forward |len| bytes */
  467.   __owur static ossl_inline int PACKET_forward(PACKET *pkt, size_t len)
                ^
  468.   {
  469.       if (PACKET_remaining(pkt) < len)

test/packettest.c:25:17: Call
23.               || !TEST_true(PACKET_forward(&pkt, BUF_LEN - 1))
24.               || !TEST_size_t_eq(PACKET_remaining(&pkt), 1)
25.               || !TEST_true(PACKET_forward(&pkt, 1))
                      ^
26.               || !TEST_size_t_eq(PACKET_remaining(&pkt), 0))
27.           return 0;

ssl/packet_locl.h:467:8: Parameter `len`
  465.   
  466.   /* Move the current reading position forward |len| bytes */
  467.   __owur static ossl_inline int PACKET_forward(PACKET *pkt, size_t len)
                ^
  468.   {
  469.       if (PACKET_remaining(pkt) < len)

ssl/packet_locl.h:472:5: Call
  470.           return 0;
  471.   
  472.       packet_forward(pkt, len);
             ^
  473.   
  474.       return 1;

ssl/packet_locl.h:33:1: <LHS trace>
31.   
32.   /* Internal unchecked shorthand; don't use outside this file. */
33. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
34.   {
35.       pkt->curr += len;

ssl/packet_locl.h:33:1: Parameter `pkt->remaining`
    31.   
    32.   /* Internal unchecked shorthand; don't use outside this file. */
    33. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
    34.   {
    35.       pkt->curr += len;

ssl/packet_locl.h:33:1: <RHS trace>
31.   
32.   /* Internal unchecked shorthand; don't use outside this file. */
33. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
34.   {
35.       pkt->curr += len;

ssl/packet_locl.h:33:1: Parameter `len`
    31.   
    32.   /* Internal unchecked shorthand; don't use outside this file. */
    33. > static ossl_inline void packet_forward(PACKET *pkt, size_t len)
    34.   {
    35.       pkt->curr += len;

ssl/packet_locl.h:36:5: Binary operation: ([0, +oo] - 1):unsigned64 by call to `PACKET_forward` 
    34.   {
    35.       pkt->curr += len;
    36.       pkt->remaining -= len;
              ^
    37.   }
    38.   

static ossl_inline void packet_forward(PACKET *pkt, size_t len)
{
    pkt->curr += len;
    pkt->remaining -= len;
}
['static int test_PACKET_remaining(void)\n{\n    PACKET pkt;\n    if (!TEST_true(PACKET_buf_init(&pkt, smbuf, sizeof(smbuf)))\n            || !TEST_size_t_eq(PACKET_remaining(&pkt), BUF_LEN)\n            || !TEST_true(PACKET_forward(&pkt, BUF_LEN - 1))\n            || !TEST_size_t_eq(PACKET_remaining(&pkt), 1)\n            || !TEST_true(PACKET_forward(&pkt, 1))\n            || !TEST_size_t_eq(PACKET_remaining(&pkt), 0))\n        return 0;\n    return 1;\n}', 'static ossl_inline int PACKET_buf_init(PACKET *pkt,\n                                              const unsigned char *buf,\n                                              size_t len)\n{\n    if (len > (size_t)(SIZE_MAX / 2))\n        return 0;\n    pkt->curr = buf;\n    pkt->remaining = len;\n    return 1;\n}', 'static ossl_inline int PACKET_forward(PACKET *pkt, size_t len)\n{\n    if (PACKET_remaining(pkt) < len)\n        return 0;\n    packet_forward(pkt, len);\n    return 1;\n}', 'static ossl_inline void packet_forward(PACKET *pkt, size_t len)\n{\n    pkt->curr += len;\n    pkt->remaining -= len;\n}']