ssl/s3_clnt.c:285: 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:157:1: Parameter `s->ctx->sessions->num_items`
155.   	}
156.   
157. > int ssl3_connect(SSL *s)
158.   	{
159.   	BUF_MEM *buf;

ssl/s3_clnt.c:278:8: Call
276.   		case SSL3_ST_CR_KEY_EXCH_A:
277.   		case SSL3_ST_CR_KEY_EXCH_B:
278.   			ret=ssl3_get_key_exchange(s);
              ^
279.   			if (ret <= 0) goto end;
280.   			s->state=SSL3_ST_CR_CERT_REQ_A;

ssl/s3_clnt.c:917:1: Parameter `s->ctx->sessions->num_items`
  915.   	}
  916.   
  917. > static int ssl3_get_key_exchange(SSL *s)
  918.   	{
  919.   #ifndef OPENSSL_NO_RSA

ssl/s3_clnt.c:936:4: Call
  934.   	/* use same message size as in ssl3_get_certificate_request()
  935.   	 * as ServerKeyExchange message may be skipped */
  936.   	n=ssl3_get_message(s,
            ^
  937.   		SSL3_ST_CR_KEY_EXCH_A,
  938.   		SSL3_ST_CR_KEY_EXCH_B,

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

ssl/s3_clnt.c:285:9: Call
283.   			/* at this point we check that we have the
284.   			 * required stuff from the server */
285.   			if (!ssl3_check_cert_and_algorithm(s))
               ^
286.   				{
287.   				ret= -1;

ssl/s3_clnt.c:1833:1: Parameter `s->ctx->sessions->num_items`
  1831.   #define has_bits(i,m)	(((i)&(m)) == (m))
  1832.   
  1833. > static int ssl3_check_cert_and_algorithm(SSL *s)
  1834.   	{
  1835.   	int i,idx;

ssl/s3_clnt.c:1950:2: Call
  1948.   	return(1);
  1949.   f_err:
  1950.   	ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_HANDSHAKE_FAILURE);
           ^
  1951.   err:
  1952.   	return(0);

ssl/s3_pkt.c:1187:1: Parameter `s->ctx->sessions->num_items`
    1185.   	}
    1186.   
    1187. > void ssl3_send_alert(SSL *s, int level, int desc)
    1188.   	{
    1189.   	/* Map tls/ssl alert value to correct one */

ssl/s3_pkt.c:1196:3: Call
    1194.   	/* If a fatal one, remove from cache */
    1195.   	if ((level == 2) && (s->session != NULL))
    1196.   		SSL_CTX_remove_session(s->ctx,s->session);
              ^
    1197.   
    1198.   	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:480:21: Call
        478.   			{
        479.   			ret=1;
        480.   			r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
                                   ^
        481.   			SSL_SESSION_list_remove(ctx,c);
        482.   			}

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