ssl/d1_lib.c:551: error: INTEGER_OVERFLOW_L2
  ([1, +oo] - 8):unsigned64 by call to `PACKET_copy_bytes`.
Showing all 36 steps of the trace


ssl/d1_lib.c:504:14: Call
502.           clearpkt = 1;
503.   
504.           if (!PACKET_buf_init(&pkt, buf, n)) {
                    ^
505.               SSLerr(SSL_F_DTLSV1_LISTEN, ERR_R_INTERNAL_ERROR);
506.               return -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)

ssl/d1_lib.c:529:14: Call
527.   
528.           /* Get the record header */
529.           if (!PACKET_get_1(&pkt, &rectype)
                    ^
530.               || !PACKET_get_1(&pkt, &versmajor)) {
531.               SSLerr(SSL_F_DTLSV1_LISTEN, SSL_R_LENGTH_MISMATCH);

ssl/packet_locl.h:235:8: Parameter `pkt->remaining`
  233.   
  234.   /* Get 1 byte from |pkt| and store the value in |*data| */
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
                ^
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))

ssl/packet_locl.h:237:10: Call
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))
                  ^
  238.           return 0;
  239.   

ssl/packet_locl.h:223:8: Parameter `pkt->remaining`
    221.   
    222.   /* Peek ahead at 1 byte from |pkt| and store the value in |*data| */
    223.   __owur static ossl_inline int PACKET_peek_1(const PACKET *pkt,
                  ^
    224.                                               unsigned int *data)
    225.   {

ssl/d1_lib.c:530:17: Call
528.           /* Get the record header */
529.           if (!PACKET_get_1(&pkt, &rectype)
530.               || !PACKET_get_1(&pkt, &versmajor)) {
                       ^
531.               SSLerr(SSL_F_DTLSV1_LISTEN, SSL_R_LENGTH_MISMATCH);
532.               goto end;

ssl/packet_locl.h:235:8: Parameter `pkt->remaining`
  233.   
  234.   /* Get 1 byte from |pkt| and store the value in |*data| */
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
                ^
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))

ssl/packet_locl.h:237:10: Call
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))
                  ^
  238.           return 0;
  239.   

ssl/packet_locl.h:223:8: Parameter `pkt->remaining`
    221.   
    222.   /* Peek ahead at 1 byte from |pkt| and store the value in |*data| */
    223.   __owur static ossl_inline int PACKET_peek_1(const PACKET *pkt,
                  ^
    224.                                               unsigned int *data)
    225.   {

ssl/d1_lib.c:549:14: Call
547.           }
548.   
549.           if (!PACKET_forward(&pkt, 1)
                    ^
550.               /* Save the sequence number: 64 bits, with top 2 bytes = epoch */
551.               || !PACKET_copy_bytes(&pkt, seq, SEQ_NUM_SIZE)

ssl/packet_locl.h:419:8: Parameter `len`
  417.   
  418.   /* Move the current reading position forward |len| bytes */
  419.   __owur static ossl_inline int PACKET_forward(PACKET *pkt, size_t len)
                ^
  420.   {
  421.       if (PACKET_remaining(pkt) < len)

ssl/d1_lib.c:551:17: Call
549.           if (!PACKET_forward(&pkt, 1)
550.               /* Save the sequence number: 64 bits, with top 2 bytes = epoch */
551.               || !PACKET_copy_bytes(&pkt, seq, SEQ_NUM_SIZE)
                       ^
552.               || !PACKET_get_length_prefixed_2(&pkt, &msgpkt)) {
553.               SSLerr(SSL_F_DTLSV1_LISTEN, SSL_R_LENGTH_MISMATCH);

ssl/packet_locl.h:331:8: Parameter `pkt->remaining`
  329.    * The caller is responsible for ensuring that |data| can hold |len| bytes.
  330.    */
  331.   __owur static ossl_inline int PACKET_copy_bytes(PACKET *pkt,
                ^
  332.                                                   unsigned char *data, size_t len)
  333.   {

ssl/packet_locl.h:334:10: Call
  332.                                                   unsigned char *data, size_t len)
  333.   {
  334.       if (!PACKET_peek_copy_bytes(pkt, data, len))
                  ^
  335.           return 0;
  336.   

ssl/packet_locl.h:315:8: Parameter `len`
    313.   
    314.   /* Peek ahead at |len| bytes from |pkt| and copy them to |data| */
    315.   __owur static ossl_inline int PACKET_peek_copy_bytes(const PACKET *pkt,
                  ^
    316.                                                        unsigned char *data,
    317.                                                        size_t len)

ssl/d1_lib.c:504:14: Call
502.           clearpkt = 1;
503.   
504.           if (!PACKET_buf_init(&pkt, buf, n)) {
                    ^
505.               SSLerr(SSL_F_DTLSV1_LISTEN, ERR_R_INTERNAL_ERROR);
506.               return -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)

ssl/d1_lib.c:529:14: Call
527.   
528.           /* Get the record header */
529.           if (!PACKET_get_1(&pkt, &rectype)
                    ^
530.               || !PACKET_get_1(&pkt, &versmajor)) {
531.               SSLerr(SSL_F_DTLSV1_LISTEN, SSL_R_LENGTH_MISMATCH);

ssl/packet_locl.h:235:8: Parameter `pkt->remaining`
  233.   
  234.   /* Get 1 byte from |pkt| and store the value in |*data| */
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
                ^
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))

ssl/packet_locl.h:237:10: Call
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))
                  ^
  238.           return 0;
  239.   

ssl/packet_locl.h:223:8: Parameter `pkt->remaining`
    221.   
    222.   /* Peek ahead at 1 byte from |pkt| and store the value in |*data| */
    223.   __owur static ossl_inline int PACKET_peek_1(const PACKET *pkt,
                  ^
    224.                                               unsigned int *data)
    225.   {

ssl/d1_lib.c:530:17: Call
528.           /* Get the record header */
529.           if (!PACKET_get_1(&pkt, &rectype)
530.               || !PACKET_get_1(&pkt, &versmajor)) {
                       ^
531.               SSLerr(SSL_F_DTLSV1_LISTEN, SSL_R_LENGTH_MISMATCH);
532.               goto end;

ssl/packet_locl.h:235:8: Parameter `pkt->remaining`
  233.   
  234.   /* Get 1 byte from |pkt| and store the value in |*data| */
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
                ^
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))

ssl/packet_locl.h:237:10: Call
  235.   __owur static ossl_inline int PACKET_get_1(PACKET *pkt, unsigned int *data)
  236.   {
  237.       if (!PACKET_peek_1(pkt, data))
                  ^
  238.           return 0;
  239.   

ssl/packet_locl.h:223:8: Parameter `pkt->remaining`
    221.   
    222.   /* Peek ahead at 1 byte from |pkt| and store the value in |*data| */
    223.   __owur static ossl_inline int PACKET_peek_1(const PACKET *pkt,
                  ^
    224.                                               unsigned int *data)
    225.   {

ssl/d1_lib.c:549:14: Call
547.           }
548.   
549.           if (!PACKET_forward(&pkt, 1)
                    ^
550.               /* Save the sequence number: 64 bits, with top 2 bytes = epoch */
551.               || !PACKET_copy_bytes(&pkt, seq, SEQ_NUM_SIZE)

ssl/packet_locl.h:419:8: Parameter `len`
  417.   
  418.   /* Move the current reading position forward |len| bytes */
  419.   __owur static ossl_inline int PACKET_forward(PACKET *pkt, size_t len)
                ^
  420.   {
  421.       if (PACKET_remaining(pkt) < len)

ssl/d1_lib.c:551:17: Call
549.           if (!PACKET_forward(&pkt, 1)
550.               /* Save the sequence number: 64 bits, with top 2 bytes = epoch */
551.               || !PACKET_copy_bytes(&pkt, seq, SEQ_NUM_SIZE)
                       ^
552.               || !PACKET_get_length_prefixed_2(&pkt, &msgpkt)) {
553.               SSLerr(SSL_F_DTLSV1_LISTEN, SSL_R_LENGTH_MISMATCH);

ssl/packet_locl.h:331:8: Parameter `len`
  329.    * The caller is responsible for ensuring that |data| can hold |len| bytes.
  330.    */
  331.   __owur static ossl_inline int PACKET_copy_bytes(PACKET *pkt,
                ^
  332.                                                   unsigned char *data, size_t len)
  333.   {

ssl/packet_locl.h:337:5: Call
  335.           return 0;
  336.   
  337.       packet_forward(pkt, len);
             ^
  338.   
  339.       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: ([1, +oo] - 8):unsigned64 by call to `PACKET_copy_bytes` 
    34.   {
    35.       pkt->curr += len;
    36.       pkt->remaining -= len;
              ^
    37.   }
    38.   
