test/packettest.c:127: error: INTEGER_OVERFLOW_L2
  ([2, +oo] - 251):unsigned64 by call to `PACKET_forward`.
Showing all 14 steps of the trace


test/packettest.c:124:17: Call
122.       PACKET pkt;
123.   
124.       if (       !PACKET_buf_init(&pkt, buf, BUF_LEN)
                       ^
125.               || !PACKET_get_net_2(&pkt, &i)
126.               ||  i != 0x0204

ssl/packet_locl.h:110:8: Parameter `pkt->remaining`
  108.    * is being used.
  109.    */
  110.   __owur static inline int PACKET_buf_init(PACKET *pkt, unsigned char *buf,
                ^
  111.                                            size_t len)
  112.   {

test/packettest.c:125:17: Call
123.   
124.       if (       !PACKET_buf_init(&pkt, buf, BUF_LEN)
125.               || !PACKET_get_net_2(&pkt, &i)
                       ^
126.               ||  i != 0x0204
127.               || !PACKET_forward(&pkt, BUF_LEN - 4)

ssl/packet_locl.h:188:8: Parameter `pkt->remaining`
  186.   /* Equivalent of n2s */
  187.   /* Get 2 bytes in network order from |pkt| and store the value in |*data| */
  188.   __owur static inline int PACKET_get_net_2(PACKET *pkt, unsigned int *data)
                ^
  189.   {
  190.       if (!PACKET_peek_net_2(pkt, data))

ssl/packet_locl.h:190:10: Call
  188.   __owur static inline int PACKET_get_net_2(PACKET *pkt, unsigned int *data)
  189.   {
  190.       if (!PACKET_peek_net_2(pkt, data))
                  ^
  191.           return 0;
  192.   

ssl/packet_locl.h:174:8: Parameter `pkt->remaining`
    172.    * |*data|
    173.    */
    174.   __owur static inline int PACKET_peek_net_2(const PACKET *pkt,
                  ^
    175.                                              unsigned int *data)
    176.   {

test/packettest.c:127:17: Call
125.               || !PACKET_get_net_2(&pkt, &i)
126.               ||  i != 0x0204
127.               || !PACKET_forward(&pkt, BUF_LEN - 4)
                       ^
128.               || !PACKET_get_net_2(&pkt, &i)
129.               ||  i != 0xfcfe

ssl/packet_locl.h:440:8: Parameter `len`
  438.   
  439.   /* Move the current reading position forward |len| bytes */
  440.   __owur static inline int PACKET_forward(PACKET *pkt, size_t len)
                ^
  441.   {
  442.       if (PACKET_remaining(pkt) < len)

ssl/packet_locl.h:445:5: Call
  443.           return 0;
  444.   
  445.       packet_forward(pkt, len);
             ^
  446.   
  447.       return 1;

ssl/packet_locl.h:80:1: <LHS trace>
78.   
79.   /* Internal unchecked shorthand; don't use outside this file. */
80. > static inline void packet_forward(PACKET *pkt, size_t len)
81.   {
82.       pkt->curr += len;

ssl/packet_locl.h:80:1: Parameter `pkt->remaining`
    78.   
    79.   /* Internal unchecked shorthand; don't use outside this file. */
    80. > static inline void packet_forward(PACKET *pkt, size_t len)
    81.   {
    82.       pkt->curr += len;

ssl/packet_locl.h:80:1: <RHS trace>
78.   
79.   /* Internal unchecked shorthand; don't use outside this file. */
80. > static inline void packet_forward(PACKET *pkt, size_t len)
81.   {
82.       pkt->curr += len;

ssl/packet_locl.h:80:1: Parameter `len`
    78.   
    79.   /* Internal unchecked shorthand; don't use outside this file. */
    80. > static inline void packet_forward(PACKET *pkt, size_t len)
    81.   {
    82.       pkt->curr += len;

ssl/packet_locl.h:83:5: Binary operation: ([2, +oo] - 251):unsigned64 by call to `PACKET_forward` 
    81.   {
    82.       pkt->curr += len;
    83.       pkt->remaining -= len;
              ^
    84.   }
    85.   

static inline void packet_forward(PACKET *pkt, size_t len)
{
    pkt->curr += len;
    pkt->remaining -= len;
}
['static int test_PACKET_get_net_2(unsigned char buf[BUF_LEN])\n{\n    unsigned int i;\n    PACKET pkt;\n    if (       !PACKET_buf_init(&pkt, buf, BUF_LEN)\n            || !PACKET_get_net_2(&pkt, &i)\n            ||  i != 0x0204\n            || !PACKET_forward(&pkt, BUF_LEN - 4)\n            || !PACKET_get_net_2(&pkt, &i)\n            ||  i != 0xfcfe\n            ||  PACKET_get_net_2(&pkt, &i)) {\n        fprintf(stderr, "test_PACKET_get_net_2() failed\\n");\n        return 0;\n    }\n    return 1;\n}', '__owur static inline int PACKET_buf_init(PACKET *pkt, 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}', '__owur static inline int PACKET_get_net_2(PACKET *pkt, unsigned int *data)\n{\n    if (!PACKET_peek_net_2(pkt, data))\n        return 0;\n    packet_forward(pkt, 2);\n    return 1;\n}', '__owur static inline int PACKET_peek_net_2(const PACKET *pkt,\n                                           unsigned int *data)\n{\n    if (PACKET_remaining(pkt) < 2)\n        return 0;\n    *data  = ((unsigned int)(*pkt->curr)) <<  8;\n    *data |= *(pkt->curr + 1);\n    return 1;\n}', '__owur static 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 inline void packet_forward(PACKET *pkt, size_t len)\n{\n    pkt->curr += len;\n    pkt->remaining -= len;\n}']