ssl/bio_ssl.c:438: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `SSL_dup`.
Showing all 16 steps of the trace


ssl/bio_ssl.c:437:4: Call
435.   		dbio=(BIO *)ptr;
436.   		if (((BIO_SSL *)dbio->ptr)->ssl != NULL)
437.   			SSL_free(((BIO_SSL *)dbio->ptr)->ssl);
          ^
438.   		((BIO_SSL *)dbio->ptr)->ssl=SSL_dup(ssl);
439.   		((BIO_SSL *)dbio->ptr)->renegotiate_count=

ssl/ssl_lib.c:410:1: Parameter `s->ctx->sessions->num_nodes`
  408.   	}
  409.   
  410. > void SSL_free(SSL *s)
  411.   	{
  412.   	int i;

ssl/bio_ssl.c:438:31: Call
436.   		if (((BIO_SSL *)dbio->ptr)->ssl != NULL)
437.   			SSL_free(((BIO_SSL *)dbio->ptr)->ssl);
438.   		((BIO_SSL *)dbio->ptr)->ssl=SSL_dup(ssl);
                                     ^
439.   		((BIO_SSL *)dbio->ptr)->renegotiate_count=
440.   			((BIO_SSL *)b->ptr)->renegotiate_count;

ssl/ssl_lib.c:1857:1: Parameter `s->ctx->sessions->num_nodes`
  1855.   	}
  1856.   
  1857. > SSL *SSL_dup(SSL *s)
  1858.   	{
  1859.   	STACK_OF(X509_NAME) *sk;

ssl/ssl_lib.c:1864:11: Call
  1862.   	int i;
  1863.   		 
  1864.   	if ((ret=SSL_new(SSL_get_SSL_CTX(s))) == NULL)
                    ^
  1865.   	    return(NULL);
  1866.   

ssl/ssl_lib.c:226:1: Parameter `ctx->sessions->num_nodes`
    224.   	}
    225.   
    226. > SSL *SSL_new(SSL_CTX *ctx)
    227.   	{
    228.   	SSL *s;

ssl/ssl_lib.c:309:4: Call
    307.   			ssl_cert_free(s->cert);
    308.   		if (s->ctx != NULL)
    309.   			SSL_CTX_free(s->ctx); /* decrement reference count */
              ^
    310.   		OPENSSL_free(s);
    311.   		}

ssl/ssl_lib.c:1392:1: Parameter `a->sessions->num_nodes`
      1390.   #endif
      1391.   
      1392. > void SSL_CTX_free(SSL_CTX *a)
      1393.   	{
      1394.   	int i;

ssl/ssl_lib.c:1414:3: Call
      1412.   	if (a->sessions != NULL)
      1413.   		{
      1414.   		SSL_CTX_flush_sessions(a,0);
                ^
      1415.   		lh_free(a->sessions);
      1416.   		}

ssl/ssl_sess.c:661:1: Parameter `s->sessions->num_nodes`
        659.   static IMPLEMENT_LHASH_DOALL_ARG_FN(timeout, SSL_SESSION *, TIMEOUT_PARAM *)
        660.   
        661. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
        662.   	{
        663.   	unsigned long i;

ssl/ssl_sess.c:673:2: Call
        671.   	i=tp.cache->down_load;
        672.   	tp.cache->down_load=0;
        673.   	lh_doall_arg(tp.cache, LHASH_DOALL_ARG_FN(timeout), &tp);
                ^
        674.   	tp.cache->down_load=i;
        675.   	CRYPTO_w_unlock(CRYPTO_LOCK_SSL_CTX);

crypto/lhash/lhash.c:300:1: Parameter `lh->num_nodes`
          298.   	}
          299.   
          300. > void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
          301.   	{
          302.   	doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);

crypto/lhash/lhash.c:302:2: Call
          300.   void lh_doall_arg(LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
          301.   	{
          302.   	doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);
                  ^
          303.   	}
          304.   

crypto/lhash/lhash.c:270:1: <LHS trace>
268.   	}
269.   
270. > static void doall_util_fn(LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
271.   			  LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
272.   	{

crypto/lhash/lhash.c:270:1: Parameter `lh->num_nodes`
            268.   	}
            269.   
            270. > static void doall_util_fn(LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
            271.   			  LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
            272.   	{

crypto/lhash/lhash.c:278:7: Binary operation: ([0, +oo] - 1):unsigned32 by call to `SSL_dup` 
            276.   	/* reverse the order so we search from 'top to bottom'
            277.   	 * We were having memory leaks otherwise */
            278.   	for (i=lh->num_nodes-1; i>=0; i--)
                         ^
            279.   		{
            280.   		a=lh->b[i];
