ssl/ssl_lib.c:2378: 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:2254:1: Parameter `s->ctx->sessions->num_nodes`
2252.   	}
2253.   
2254. > SSL *SSL_dup(SSL *s)
2255.   	{
2256.   	STACK_OF(X509_NAME) *sk;

ssl/ssl_lib.c:2261:11: Call
2259.   	int i;
2260.   	
2261.   	if ((ret=SSL_new(SSL_get_SSL_CTX(s))) == NULL)
                  ^
2262.   	    return(NULL);
2263.   

ssl/ssl_lib.c:264:1: Parameter `ctx->sessions->num_nodes`
  262.   	}
  263.   
  264. > SSL *SSL_new(SSL_CTX *ctx)
  265.   	{
  266.   	SSL *s;

ssl/ssl_lib.c:2378:20: Call
2376.   		{
2377.   err:
2378.   		if (ret != NULL) SSL_free(ret);
                           ^
2379.   		ret=NULL;
2380.   		}

ssl/ssl_lib.c:472:1: Parameter `s->initial_ctx->sessions->num_nodes`
  470.   	}
  471.   
  472. > void SSL_free(SSL *s)
  473.   	{
  474.   	int i;

ssl/ssl_lib.c:532:22: Call
  530.   	if (s->ctx) SSL_CTX_free(s->ctx);
  531.   #ifndef OPENSSL_NO_TLSEXT
  532.   	if (s->initial_ctx) SSL_CTX_free(s->initial_ctx);
                              ^
  533.   #ifndef OPENSSL_NO_EC
  534.   	if (s->tlsext_ecpointformatlist) OPENSSL_free(s->tlsext_ecpointformatlist);

ssl/ssl_lib.c:1563:1: Parameter `a->sessions->num_nodes`
    1561.   #endif
    1562.   
    1563. > void SSL_CTX_free(SSL_CTX *a)
    1564.   	{
    1565.   	int i;

ssl/ssl_lib.c:1595:3: Call
    1593.   	 */
    1594.   	if (a->sessions != NULL)
    1595.   		SSL_CTX_flush_sessions(a,0);
              ^
    1596.   
    1597.   	CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_CTX, a, &a->ex_data);

ssl/ssl_sess.c:826:1: Parameter `s->sessions->num_nodes`
      824.   static IMPLEMENT_LHASH_DOALL_ARG_FN(timeout, SSL_SESSION *, TIMEOUT_PARAM *)
      825.   
      826. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
      827.   	{
      828.   	unsigned long i;

ssl/ssl_sess.c:838:2: Call
      836.   	i=tp.cache->down_load;
      837.   	tp.cache->down_load=0;
      838.   	lh_doall_arg(tp.cache, LHASH_DOALL_ARG_FN(timeout), &tp);
              ^
      839.   	tp.cache->down_load=i;
      840.   	CRYPTO_w_unlock(CRYPTO_LOCK_SSL_CTX);

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

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

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:281:7: Binary operation: ([0, s->ctx->sessions->num_nodes] - 1):unsigned32 by call to `SSL_free` 
          279.   	/* reverse the order so we search from 'top to bottom'
          280.   	 * We were having memory leaks otherwise */
          281.   	for (i=lh->num_nodes-1; i>=0; i--)
                       ^
          282.   		{
          283.   		a=lh->b[i];
