ssl/ssl_sess.c:452: 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:399:1: Parameter `ctx->sessions->num_items`
397.   	}
398.   
399. > int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
400.   	{
401.   	int ret=0;

ssl/ssl_sess.c:411:19: Call
409.   
410.   	CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);
411.   	s=(SSL_SESSION *)lh_insert(ctx->sessions,c);
                         ^
412.   	
413.   	/* 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:452:10: Call
450.   				SSL_CTX_sess_get_cache_size(ctx))
451.   				{
452.   				if (!remove_session_lock(ctx,
                ^
453.   					ctx->session_cache_tail, 0))
454.   					break;

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