ssl/ssl_lib.c:2277: error: INTEGER_OVERFLOW_L2
  ([0, `s->ctx->sessions->num_nodes`] - 1):unsigned32 by call to `SSL_free`.
Showing all 15 steps of the trace


ssl/ssl_lib.c:2153:1: Parameter `s->ctx->sessions->num_nodes`
2151.   	}
2152.   
2153. > SSL *SSL_dup(SSL *s)
2154.   	{
2155.   	STACK_OF(X509_NAME) *sk;

ssl/ssl_lib.c:2160:11: Call
2158.   	int i;
2159.   		 
2160.   	if ((ret=SSL_new(SSL_get_SSL_CTX(s))) == NULL)
                  ^
2161.   	    return(NULL);
2162.   

ssl/ssl_lib.c:238:1: Parameter `ctx->sessions->num_nodes`
  236.   	}
  237.   
  238. > SSL *SSL_new(SSL_CTX *ctx)
  239.   	{
  240.   	SSL *s;

ssl/ssl_lib.c:2277:20: Call
2275.   		{
2276.   err:
2277.   		if (ret != NULL) SSL_free(ret);
                           ^
2278.   		ret=NULL;
2279.   		}

ssl/ssl_lib.c:441:1: Parameter `s->initial_ctx->sessions->num_nodes`
  439.   	}
  440.   
  441. > void SSL_free(SSL *s)
  442.   	{
  443.   	int i;

ssl/ssl_lib.c:501:22: Call
  499.   	if (s->ctx) SSL_CTX_free(s->ctx);
  500.   #ifndef OPENSSL_NO_TLSEXT
  501.   	if (s->initial_ctx) SSL_CTX_free(s->initial_ctx);
                              ^
  502.   #endif
  503.   

ssl/ssl_lib.c:1517:1: Parameter `a->sessions->num_nodes`
    1515.   #endif
    1516.   
    1517. > void SSL_CTX_free(SSL_CTX *a)
    1518.   	{
    1519.   	int i;

ssl/ssl_lib.c:1549:3: Call
    1547.   	 */
    1548.   	if (a->sessions != NULL)
    1549.   		SSL_CTX_flush_sessions(a,0);
              ^
    1550.   
    1551.   	CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_CTX, a, &a->ex_data);

ssl/ssl_sess.c:752:1: Parameter `s->sessions->num_nodes`
      750.   static IMPLEMENT_LHASH_DOALL_ARG_FN(timeout, SSL_SESSION *, TIMEOUT_PARAM *)
      751.   
      752. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
      753.   	{
      754.   	unsigned long i;

ssl/ssl_sess.c:764:2: Call
      762.   	i=tp.cache->down_load;
      763.   	tp.cache->down_load=0;
      764.   	lh_doall_arg(tp.cache, LHASH_DOALL_ARG_FN(timeout), &tp);
              ^
      765.   	tp.cache->down_load=i;
      766.   	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, s->ctx->sessions->num_nodes] - 1):unsigned32 by call to `SSL_free` 
          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];
