ssl/s3_clnt.c:236: error: INTEGER_OVERFLOW_L2
  ([0, `s->ctx->sessions->num_items`] - 1):unsigned64 by call to `ssl3_check_cert_and_algorithm`.
Showing all 17 steps of the trace


ssl/s3_clnt.c:108:1: Parameter `s->ctx->sessions->num_items`
106.   	}
107.   
108. > int ssl3_connect(SSL *s)
109.   	{
110.   	BUF_MEM *buf;

ssl/s3_clnt.c:229:8: Call
227.   		case SSL3_ST_CR_KEY_EXCH_A:
228.   		case SSL3_ST_CR_KEY_EXCH_B:
229.   			ret=ssl3_get_key_exchange(s);
              ^
230.   			if (ret <= 0) goto end;
231.   			s->state=SSL3_ST_CR_CERT_REQ_A;

ssl/s3_clnt.c:865:1: Parameter `s->ctx->sessions->num_items`
  863.   	}
  864.   
  865. > static int ssl3_get_key_exchange(SSL *s)
  866.   	{
  867.   #ifndef OPENSSL_NO_RSA

ssl/s3_clnt.c:882:4: Call
  880.   #endif
  881.   
  882.   	n=ssl3_get_message(s,
            ^
  883.   		SSL3_ST_CR_KEY_EXCH_A,
  884.   		SSL3_ST_CR_KEY_EXCH_B,

ssl/s3_both.c:337:1: Parameter `s->ctx->sessions->num_items`
    335.    * the body is read in state 'stn'.
    336.    */
    337. > long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok)
    338.   	{
    339.   	unsigned char *p;

ssl/s3_clnt.c:236:9: Call
234.   			/* at this point we check that we have the
235.   			 * required stuff from the server */
236.   			if (!ssl3_check_cert_and_algorithm(s))
               ^
237.   				{
238.   				ret= -1;

ssl/s3_clnt.c:1720:1: Parameter `s->ctx->sessions->num_items`
  1718.   #define has_bits(i,m)	(((i)&(m)) == (m))
  1719.   
  1720. > static int ssl3_check_cert_and_algorithm(SSL *s)
  1721.   	{
  1722.   	int i,idx;

ssl/s3_clnt.c:1837:2: Call
  1835.   	return(1);
  1836.   f_err:
  1837.   	ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_HANDSHAKE_FAILURE);
           ^
  1838.   err:
  1839.   	return(0);

ssl/s3_pkt.c:1155:1: Parameter `s->ctx->sessions->num_items`
    1153.   	}
    1154.   
    1155. > void ssl3_send_alert(SSL *s, int level, int desc)
    1156.   	{
    1157.   	/* Map tls/ssl alert value to correct one */

ssl/s3_pkt.c:1162:3: Call
    1160.   	/* If a fatal one, remove from cache */
    1161.   	if ((level == 2) && (s->session != NULL))
    1162.   		SSL_CTX_remove_session(s->ctx,s->session);
              ^
    1163.   
    1164.   	s->s3->alert_dispatch=1;

ssl/ssl_sess.c:413:1: Parameter `ctx->sessions->num_items`
      411.   	}
      412.   
      413. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      414.   {
      415.   	return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:415:9: Call
      413.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      414.   {
      415.   	return remove_session_lock(ctx, c, 1);
                     ^
      416.   }
      417.   

ssl/ssl_sess.c:418:1: Parameter `ctx->sessions->num_items`
        416.   }
        417.   
        418. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
        419.   	{
        420.   	SSL_SESSION *r;

ssl/ssl_sess.c:426:20: Call
        424.   		{
        425.   		if(lck) CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);
        426.   		r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
                                  ^
        427.   		if (r != NULL)
        428.   			{

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_check_cert_and_algorithm` 
          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)))
