apps/s_client.c:2420: error: INTEGER_OVERFLOW_L2
  ([0, 8] - 1):unsigned32 by call to `SSL_free`.
Showing all 18 steps of the trace


apps/s_client.c:1481:11: Call
1479.   #endif
1480.   
1481.       ctx = SSL_CTX_new(meth);
                  ^
1482.       if (ctx == NULL) {
1483.           ERR_print_errors(bio_err);

ssl/ssl_lib.c:2295:21: Call
  2293.           goto err;
  2294.   
  2295.       ret->sessions = lh_SSL_SESSION_new(ssl_session_hash, ssl_session_cmp);
                              ^
  2296.       if (ret->sessions == NULL)
  2297.           goto err;

ssl/ssl_locl.h:681:1: Call
    679.   };
    680.   
    681. > DEFINE_LHASH_OF(SSL_SESSION);
    682.   /* Needed in ssl_cert.c */
    683.   DEFINE_LHASH_OF(X509_NAME);

crypto/lhash/lhash.c:122:5: Assignment
      120.       ret->comp = ((c == NULL) ? (LHASH_COMP_FN_TYPE)strcmp : c);
      121.       ret->hash = ((h == NULL) ? (LHASH_HASH_FN_TYPE)lh_strhash : h);
      122.       ret->num_nodes = MIN_NODES / 2;
                 ^
      123.       ret->num_alloc_nodes = MIN_NODES;
      124.       ret->pmax = MIN_NODES / 2;

apps/s_client.c:2420:9: Call
2418.           if (prexit != 0)
2419.               print_stuff(bio_c_out, con, 1);
2420.           SSL_free(con);
                ^
2421.       }
2422.   #if !defined(OPENSSL_NO_NEXTPROTONEG)

ssl/ssl_lib.c:990:1: Parameter `s->initial_ctx->sessions->num_nodes`
  988.   }
  989.   
  990. > void SSL_free(SSL *s)
  991.   {
  992.       int i;

ssl/ssl_lib.c:1037:5: Call
  1035.   
  1036.       OPENSSL_free(s->tlsext_hostname);
  1037.       SSL_CTX_free(s->initial_ctx);
              ^
  1038.   #ifndef OPENSSL_NO_EC
  1039.       OPENSSL_free(s->tlsext_ecpointformatlist);

ssl/ssl_lib.c:2388:1: Parameter `a->sessions->num_nodes`
    2386.   }
    2387.   
    2388. > void SSL_CTX_free(SSL_CTX *a)
    2389.   {
    2390.       int i;

ssl/ssl_lib.c:2414:9: Call
    2412.        */
    2413.       if (a->sessions != NULL)
    2414.           SSL_CTX_flush_sessions(a, 0);
                    ^
    2415.   
    2416.       CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_CTX, a, &a->ex_data);

ssl/ssl_sess.c:1049:1: Parameter `s->sessions->num_nodes`
      1047.   IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
      1048.   
      1049. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
      1050.   {
      1051.       unsigned long i;

ssl/ssl_sess.c:1062:5: Call
      1060.       i = CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load;
      1061.       CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load = 0;
      1062.       lh_SSL_SESSION_doall_TIMEOUT_PARAM(tp.cache, timeout_cb, &tp);
                  ^
      1063.       CHECKED_LHASH_OF(SSL_SESSION, tp.cache)->down_load = i;
      1064.       CRYPTO_w_unlock(CRYPTO_LOCK_SSL_CTX);

ssl/ssl_sess.c:1047:1: Parameter `lh->num_nodes`
        1045.   }
        1046.   
        1047. > IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
        1048.   
        1049.   void SSL_CTX_flush_sessions(SSL_CTX *s, long t)

ssl/ssl_sess.c:1047:1: Call
        1045.   }
        1046.   
        1047. > IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
        1048.   
        1049.   void SSL_CTX_flush_sessions(SSL_CTX *s, long t)

crypto/lhash/lhash.c:273:1: Parameter `lh->num_nodes`
          271.   }
          272.   
          273. > void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
          274.   {
          275.       doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);

crypto/lhash/lhash.c:275:5: Call
          273.   void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg)
          274.   {
          275.       doall_util_fn(lh, 1, (LHASH_DOALL_FN_TYPE)0, func, arg);
                     ^
          276.   }
          277.   

crypto/lhash/lhash.c:235:1: <LHS trace>
233.   }
234.   
235. > static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
236.                             LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
237.   {

crypto/lhash/lhash.c:235:1: Parameter `lh->num_nodes`
            233.   }
            234.   
            235. > static void doall_util_fn(_LHASH *lh, int use_arg, LHASH_DOALL_FN_TYPE func,
            236.                             LHASH_DOALL_ARG_FN_TYPE func_arg, void *arg)
            237.   {

crypto/lhash/lhash.c:248:10: Binary operation: ([0, 8] - 1):unsigned32 by call to `SSL_free` 
            246.        * memory leaks otherwise
            247.        */
            248.       for (i = lh->num_nodes - 1; i >= 0; i--) {
                            ^
            249.           a = lh->b[i];
            250.           while (a != NULL) {
