ssl/s3_clnt.c:313: 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:184:1: Parameter `s->ctx->sessions->num_items`
182.   	}
183.   
184. > int ssl3_connect(SSL *s)
185.   	{
186.   	BUF_MEM *buf=NULL;

ssl/s3_clnt.c:306:8: Call
304.   		case SSL3_ST_CR_KEY_EXCH_A:
305.   		case SSL3_ST_CR_KEY_EXCH_B:
306.   			ret=ssl3_get_key_exchange(s);
              ^
307.   			if (ret <= 0) goto end;
308.   			s->state=SSL3_ST_CR_CERT_REQ_A;

ssl/s3_clnt.c:962:1: Parameter `s->ctx->sessions->num_items`
  960.   	}
  961.   
  962. > static int ssl3_get_key_exchange(SSL *s)
  963.   	{
  964.   #ifndef OPENSSL_NO_RSA

ssl/s3_clnt.c:988:4: Call
  986.   	/* use same message size as in ssl3_get_certificate_request()
  987.   	 * as ServerKeyExchange message may be skipped */
  988.   	n=ssl3_get_message(s,
            ^
  989.   		SSL3_ST_CR_KEY_EXCH_A,
  990.   		SSL3_ST_CR_KEY_EXCH_B,

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

ssl/s3_clnt.c:313:9: Call
311.   			/* at this point we check that we have the
312.   			 * required stuff from the server */
313.   			if (!ssl3_check_cert_and_algorithm(s))
               ^
314.   				{
315.   				ret= -1;

ssl/s3_clnt.c:2223:1: Parameter `s->ctx->sessions->num_items`
  2221.   #define has_bits(i,m)	(((i)&(m)) == (m))
  2222.   
  2223. > static int ssl3_check_cert_and_algorithm(SSL *s)
  2224.   	{
  2225.   	int i,idx;

ssl/s3_clnt.c:2355:2: Call
  2353.   	return(1);
  2354.   f_err:
  2355.   	ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_HANDSHAKE_FAILURE);
           ^
  2356.   err:
  2357.   	return(0);

ssl/s3_pkt.c:1233:1: Parameter `s->ctx->sessions->num_items`
    1231.   	}
    1232.   
    1233. > void ssl3_send_alert(SSL *s, int level, int desc)
    1234.   	{
    1235.   	/* Map tls/ssl alert value to correct one */

ssl/s3_pkt.c:1242:3: Call
    1240.   	/* If a fatal one, remove from cache */
    1241.   	if ((level == 2) && (s->session != NULL))
    1242.   		SSL_CTX_remove_session(s->ctx,s->session);
              ^
    1243.   
    1244.   	s->s3->alert_dispatch=1;

ssl/ssl_sess.c:474:1: Parameter `ctx->sessions->num_items`
      472.   	}
      473.   
      474. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      475.   {
      476.   	return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:476:9: Call
      474.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      475.   {
      476.   	return remove_session_lock(ctx, c, 1);
                     ^
      477.   }
      478.   

ssl/ssl_sess.c:479:1: Parameter `ctx->sessions->num_items`
        477.   }
        478.   
        479. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
        480.   	{
        481.   	SSL_SESSION *r;

ssl/ssl_sess.c:490:21: Call
        488.   			{
        489.   			ret=1;
        490.   			r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
                                   ^
        491.   			SSL_SESSION_list_remove(ctx,c);
        492.   			}

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