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


ssl/ssl_lib.c:958:1: Parameter `s->session_ctx->sessions->num_nodes`
956.   }
957.   
958. > void SSL_free(SSL *s)
959.   {
960.       int i;

ssl/ssl_lib.c:998:5: Call
996.   
997.       OPENSSL_free(s->ext.hostname);
998.       SSL_CTX_free(s->session_ctx);
            ^
999.   #ifndef OPENSSL_NO_EC
1000.       OPENSSL_free(s->ext.ecpointformats);

ssl/ssl_lib.c:2582:1: Parameter `a->sessions->num_nodes`
  2580.   }
  2581.   
  2582. > void SSL_CTX_free(SSL_CTX *a)
  2583.   {
  2584.       int i;

ssl/ssl_lib.c:2608:9: Call
  2606.        */
  2607.       if (a->sessions != NULL)
  2608.           SSL_CTX_flush_sessions(a, 0);
                  ^
  2609.   
  2610.       CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_CTX, a, &a->ex_data);

ssl/ssl_sess.c:1013:1: Parameter `s->sessions->num_nodes`
    1011.   IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
    1012.   
    1013. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
    1014.   {
    1015.       unsigned long i;

ssl/ssl_sess.c:1026:5: Call
    1024.       i = lh_SSL_SESSION_get_down_load(s->sessions);
    1025.       lh_SSL_SESSION_set_down_load(s->sessions, 0);
    1026.       lh_SSL_SESSION_doall_TIMEOUT_PARAM(tp.cache, timeout_cb, &tp);
                ^
    1027.       lh_SSL_SESSION_set_down_load(s->sessions, i);
    1028.       CRYPTO_THREAD_unlock(s->lock);

ssl/ssl_sess.c:1011:1: Parameter `lh->num_nodes`
      1009.   }
      1010.   
      1011. > IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
      1012.   
      1013.   void SSL_CTX_flush_sessions(SSL_CTX *s, long t)

ssl/ssl_sess.c:1011:1: Call
      1009.   }
      1010.   
      1011. > IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
      1012.   
      1013.   void SSL_CTX_flush_sessions(SSL_CTX *s, long t)

crypto/lhash/lhash.c:182:1: Parameter `lh->num_nodes`
        180.   }
        181.   
        182. > void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg)
        183.   {
        184.       doall_util_fn(lh, 1, (OPENSSL_LH_DOALL_FUNC)0, func, arg);

crypto/lhash/lhash.c:184:5: Call
        182.   void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg)
        183.   {
        184.       doall_util_fn(lh, 1, (OPENSSL_LH_DOALL_FUNC)0, func, arg);
                   ^
        185.   }
        186.   

crypto/lhash/lhash.c:150:1: <LHS trace>
148.   }
149.   
150. > static void doall_util_fn(OPENSSL_LHASH *lh, int use_arg,
151.                             OPENSSL_LH_DOALL_FUNC func,
152.                             OPENSSL_LH_DOALL_FUNCARG func_arg, void *arg)

crypto/lhash/lhash.c:150:1: Parameter `lh->num_nodes`
          148.   }
          149.   
          150. > static void doall_util_fn(OPENSSL_LHASH *lh, int use_arg,
          151.                             OPENSSL_LH_DOALL_FUNC func,
          152.                             OPENSSL_LH_DOALL_FUNCARG func_arg, void *arg)

crypto/lhash/lhash.c:164:10: Binary operation: ([0, max(0, s->session_ctx->sessions->num_nodes)] - 1):unsigned32 by call to `SSL_CTX_free` 
          162.        * memory leaks otherwise
          163.        */
          164.       for (i = lh->num_nodes - 1; i >= 0; i--) {
                          ^
          165.           a = lh->b[i];
          166.           while (a != NULL) {
