ssl/s3_clnt.c:1070: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 32):unsigned64 by call to `PACKET_copy_bytes`.
Showing all 14 steps of the trace


ssl/s3_clnt.c:973:10: Call
971.       }
972.   
973.       if (!PACKET_buf_init(&pkt, s->init_msg, n)) {
                ^
974.           al = SSL_AD_INTERNAL_ERROR;
975.           SSLerr(SSL_F_SSL3_GET_SERVER_HELLO, ERR_R_INTERNAL_ERROR);

ssl/packet_locl.h:109:1: Parameter `pkt->remaining`
  107.    * is being used.
  108.    */
  109. > static inline int PACKET_buf_init(PACKET *pkt, unsigned char *buf, size_t len)
  110.   {
  111.       /* Sanity check for negative values. */

ssl/s3_clnt.c:982:14: Call
980.           unsigned int sversion;
981.   
982.           if (!PACKET_get_net_2(&pkt, &sversion)) {
                    ^
983.               al = SSL_AD_DECODE_ERROR;
984.               SSLerr(SSL_F_SSL3_GET_SERVER_HELLO, SSL_R_LENGTH_MISMATCH);

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

ssl/packet_locl.h:171:10: Call
  169.   __owur static inline int PACKET_get_net_2(PACKET *pkt, unsigned int *data)
  170.   {
  171.       if (!PACKET_peek_net_2(pkt, data))
                  ^
  172.           return 0;
  173.   

ssl/packet_locl.h:155:8: Parameter `pkt->remaining`
    153.    * |*data|
    154.    */
    155.   __owur static inline int PACKET_peek_net_2(const PACKET *pkt,
                  ^
    156.                                              unsigned int *data)
    157.   {

ssl/s3_clnt.c:1070:10: Call
1068.       /* load the server hello data */
1069.       /* load the server random */
1070.       if (!PACKET_copy_bytes(&pkt, s->s3->server_random, SSL3_RANDOM_SIZE)) {
                 ^
1071.           al = SSL_AD_DECODE_ERROR;
1072.           SSLerr(SSL_F_SSL3_GET_SERVER_HELLO, SSL_R_LENGTH_MISMATCH);

ssl/packet_locl.h:340:8: Parameter `len`
  338.    * The caller is responsible for ensuring that |data| can hold |len| bytes.
  339.    */
  340.   __owur static inline int PACKET_copy_bytes(PACKET *pkt, unsigned char *data,
                ^
  341.                                              size_t len)
  342.   {

ssl/packet_locl.h:346:5: Call
  344.           return 0;
  345.   
  346.       packet_forward(pkt, len);
             ^
  347.   
  348.       return 1;

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

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

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

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

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