ssl/s3_pkt.c:792: error: INTEGER_OVERFLOW_L2
  ([0, `s->ctx->sessions->num_items`] - 1):unsigned64 by call to `ssl3_get_record`.
Showing all 13 steps of the trace


ssl/s3_pkt.c:728:1: Parameter `s->ctx->sessions->num_items`
726.    *             none of our business
727.    */
728. > int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek)
729.   	{
730.   	int al,i,j,ret;

ssl/s3_pkt.c:792:7: Call
790.   	if ((rr->length == 0) || (s->rstate == SSL_ST_READ_BODY))
791.   		{
792.   		ret=ssl3_get_record(s);
             ^
793.   		if (ret <= 0) return(ret);
794.   		}

ssl/s3_pkt.c:231:1: Parameter `s->ctx->sessions->num_items`
  229.    */
  230.   /* used only by ssl3_read_bytes */
  231. > static int ssl3_get_record(SSL *s)
  232.   	{
  233.   	int ssl_major,ssl_minor,al;

ssl/s3_pkt.c:452:2: Call
  450.   	SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC);
  451.   f_err:
  452.   	ssl3_send_alert(s,SSL3_AL_FATAL,al);
          ^
  453.   err:
  454.   	return(ret);

ssl/s3_pkt.c:1176:1: Parameter `s->ctx->sessions->num_items`
    1174.   	}
    1175.   
    1176. > void ssl3_send_alert(SSL *s, int level, int desc)
    1177.   	{
    1178.   	/* Map tls/ssl alert value to correct one */

ssl/s3_pkt.c:1183:3: Call
    1181.   	/* If a fatal one, remove from cache */
    1182.   	if ((level == 2) && (s->session != NULL))
    1183.   		SSL_CTX_remove_session(s->ctx,s->session);
              ^
    1184.   
    1185.   	s->s3->alert_dispatch=1;

ssl/ssl_sess.c:464:1: Parameter `ctx->sessions->num_items`
      462.   	}
      463.   
      464. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      465.   {
      466.   	return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:466:9: Call
      464.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      465.   {
      466.   	return remove_session_lock(ctx, c, 1);
                     ^
      467.   }
      468.   

ssl/ssl_sess.c:469:1: Parameter `ctx->sessions->num_items`
        467.   }
        468.   
        469. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
        470.   	{
        471.   	SSL_SESSION *r;

ssl/ssl_sess.c:477:20: Call
        475.   		{
        476.   		if(lck) CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);
        477.   		r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
                                  ^
        478.   		if (r != NULL)
        479.   			{

crypto/lhash/lhash.c:217:1: <LHS trace>
215.   	}
216.   
217. > void *lh_delete(LHASH *lh, const void *data)
218.   	{
219.   	unsigned long hash;

crypto/lhash/lhash.c:217:1: Parameter `lh->num_items`
          215.   	}
          216.   
          217. > void *lh_delete(LHASH *lh, const void *data)
          218.   	{
          219.   	unsigned long hash;

crypto/lhash/lhash.c:240:2: Binary operation: ([0, s->ctx->sessions->num_items] - 1):unsigned64 by call to `ssl3_get_record` 
          238.   		}
          239.   
          240.   	lh->num_items--;
                  ^
          241.   	if ((lh->num_nodes > MIN_NODES) &&
          242.   		(lh->down_load >= (lh->num_items*LH_LOAD_MULT/lh->num_nodes)))
