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


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

ssl/ssl_lib.c:394:9: Call
392.    err:
393.       if (s != NULL)
394.           SSL_free(s);
               ^
395.       SSLerr(SSL_F_SSL_NEW, ERR_R_MALLOC_FAILURE);
396.       return (NULL);

ssl/ssl_lib.c:513:1: Parameter `s->initial_ctx->sessions->num_nodes`
  511.   }
  512.   
  513. > void SSL_free(SSL *s)
  514.   {
  515.       int i;

ssl/ssl_lib.c:578:9: Call
  576.           OPENSSL_free(s->tlsext_hostname);
  577.       if (s->initial_ctx)
  578.           SSL_CTX_free(s->initial_ctx);
                 ^
  579.   # ifndef OPENSSL_NO_EC
  580.       if (s->tlsext_ecpointformatlist)

ssl/ssl_lib.c:2016:1: Parameter `a->sessions->num_nodes`
    2014.   }
    2015.   
    2016. > void SSL_CTX_free(SSL_CTX *a)
    2017.   {
    2018.       int i;

ssl/ssl_lib.c:2049:9: Call
    2047.        */
    2048.       if (a->sessions != NULL)
    2049.           SSL_CTX_flush_sessions(a, 0);
                    ^
    2050.   
    2051.       CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_CTX, a, &a->ex_data);

ssl/ssl_sess.c:991:1: Parameter `s->sessions->num_nodes`
      989.   static IMPLEMENT_LHASH_DOALL_ARG_FN(timeout, SSL_SESSION, TIMEOUT_PARAM)
      990.   
      991. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
      992.   {
      993.       unsigned long i;

ssl/ssl_sess.c:1004:5: Call
      1002.       i = CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load;
      1003.       CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load = 0;
      1004.       lh_SSL_SESSION_doall_arg(tp.cache, LHASH_DOALL_ARG_FN(timeout),
                  ^
      1005.                                TIMEOUT_PARAM, &tp);
      1006.       CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load = i;

crypto/lhash/lhash.c:296:1: Parameter `lh->num_nodes`
        294.   }
        295.   
        296. > void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
        297.   {
        298.       doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);

crypto/lhash/lhash.c:298:5: Call
        296.   void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
        297.   {
        298.       doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);
                   ^
        299.   }
        300.   

crypto/lhash/lhash.c:258:1: <LHS trace>
256.   }
257.   
258. > static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
259.                             LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
260.   {

crypto/lhash/lhash.c:258:1: Parameter `lh->num_nodes`
          256.   }
          257.   
          258. > static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
          259.                             LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
          260.   {

crypto/lhash/lhash.c:271:10: Binary operation: ([0, max(0, ctx->sessions->num_nodes)] - 1):unsigned32 by call to `SSL_free` 
          269.        * memory leaks otherwise
          270.        */
          271.       for (i = lh->num_nodes - 1; i >= 0; i--) {
                          ^
          272.           a = lh->b[i];
          273.           while (a != NULL) {
