ssl/ssl_sess.c:401: error: INTEGER_OVERFLOW_L2
  ([0, `ctx->sessions->num_items` + 1] - 1):unsigned64 by call to `remove_session_lock`.
Showing all 9 steps of the trace


ssl/ssl_sess.c:348:1: Parameter `ctx->sessions->num_items`
346.   	}
347.   
348. > int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
349.   	{
350.   	int ret=0;

ssl/ssl_sess.c:360:19: Call
358.   
359.   	CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);
360.   	s=(SSL_SESSION *)lh_insert(ctx->sessions,c);
                         ^
361.   	
362.   	/* s != NULL iff we already had a session with the given PID.

crypto/lhash/lhash.c:179:1: Parameter `lh->num_items`
  177.   	}
  178.   
  179. > void *lh_insert(LHASH *lh, const void *data)
  180.   	{
  181.   	unsigned long hash;

ssl/ssl_sess.c:401:10: Call
399.   				SSL_CTX_sess_get_cache_size(ctx))
400.   				{
401.   				if (!remove_session_lock(ctx,
                ^
402.   					ctx->session_cache_tail, 0))
403.   					break;

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, ctx->sessions->num_items + 1] - 1):unsigned64 by call to `remove_session_lock` 
    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)))
