test/handshake_helper.c:1706: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `peer_free_data`.
Showing all 17 steps of the trace


test/handshake_helper.c:1396:1: Parameter `client_ctx->sessions->num_nodes`
1394.    * parsing.)
1395.    */
1396. > static HANDSHAKE_RESULT *do_handshake_internal(
1397.       SSL_CTX *server_ctx, SSL_CTX *server2_ctx, SSL_CTX *client_ctx,
1398.       const SSL_TEST_CTX *test_ctx, const SSL_TEST_EXTRA_CONF *extra,

test/handshake_helper.c:1706:5: Call
1704.       ctx_data_free_data(&client_ctx_data);
1705.   
1706.       peer_free_data(&server);
            ^
1707.       peer_free_data(&client);
1708.       return ret;

test/handshake_helper.c:778:1: Parameter `peer->ssl->ctx->sessions->num_nodes`
  776.   }
  777.   
  778. > static void peer_free_data(PEER *peer)
  779.   {
  780.       SSL_free(peer->ssl);

test/handshake_helper.c:780:5: Call
  778.   static void peer_free_data(PEER *peer)
  779.   {
  780.       SSL_free(peer->ssl);
             ^
  781.       OPENSSL_free(peer->write_buf);
  782.       OPENSSL_free(peer->read_buf);

ssl/ssl_lib.c:1134:1: Parameter `s->ctx->sessions->num_nodes`
    1132.   }
    1133.   
    1134. > void SSL_free(SSL *s)
    1135.   {
    1136.       int i;

ssl/ssl_lib.c:1209:5: Call
    1207.           s->method->ssl_free(s);
    1208.   
    1209.       SSL_CTX_free(s->ctx);
                ^
    1210.   
    1211.       ASYNC_WAIT_CTX_free(s->waitctx);

ssl/ssl_lib.c:3103:1: Parameter `a->sessions->num_nodes`
      3101.   }
      3102.   
      3103. > void SSL_CTX_free(SSL_CTX *a)
      3104.   {
      3105.       int i;

ssl/ssl_lib.c:3129:9: Call
      3127.        */
      3128.       if (a->sessions != NULL)
      3129.           SSL_CTX_flush_sessions(a, 0);
                      ^
      3130.   
      3131.       CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_CTX, a, &a->ex_data);

ssl/ssl_sess.c:1106:1: Parameter `s->sessions->num_nodes`
        1104.   IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
        1105.   
        1106. > void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
        1107.   {
        1108.       unsigned long i;

ssl/ssl_sess.c:1119:5: Call
        1117.       i = lh_SSL_SESSION_get_down_load(s->sessions);
        1118.       lh_SSL_SESSION_set_down_load(s->sessions, 0);
        1119.       lh_SSL_SESSION_doall_TIMEOUT_PARAM(tp.cache, timeout_cb, &tp);
                    ^
        1120.       lh_SSL_SESSION_set_down_load(s->sessions, i);
        1121.       CRYPTO_THREAD_unlock(s->lock);

ssl/ssl_sess.c:1104:1: Parameter `lh->num_nodes`
          1102.   }
          1103.   
          1104. > IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
          1105.   
          1106.   void SSL_CTX_flush_sessions(SSL_CTX *s, long t)

ssl/ssl_sess.c:1104:1: Call
          1102.   }
          1103.   
          1104. > IMPLEMENT_LHASH_DOALL_ARG(SSL_SESSION, TIMEOUT_PARAM);
          1105.   
          1106.   void SSL_CTX_flush_sessions(SSL_CTX *s, long t)

crypto/lhash/lhash.c:209:1: Parameter `lh->num_nodes`
            207.   }
            208.   
            209. > void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg)
            210.   {
            211.       doall_util_fn(lh, 1, (OPENSSL_LH_DOALL_FUNC)0, func, arg);

crypto/lhash/lhash.c:211:5: Call
            209.   void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg)
            210.   {
            211.       doall_util_fn(lh, 1, (OPENSSL_LH_DOALL_FUNC)0, func, arg);
                       ^
            212.   }
            213.   

crypto/lhash/lhash.c:177:1: <LHS trace>
175.   }
176.   
177. > static void doall_util_fn(OPENSSL_LHASH *lh, int use_arg,
178.                             OPENSSL_LH_DOALL_FUNC func,
179.                             OPENSSL_LH_DOALL_FUNCARG func_arg, void *arg)

crypto/lhash/lhash.c:177:1: Parameter `lh->num_nodes`
              175.   }
              176.   
              177. > static void doall_util_fn(OPENSSL_LHASH *lh, int use_arg,
              178.                             OPENSSL_LH_DOALL_FUNC func,
              179.                             OPENSSL_LH_DOALL_FUNCARG func_arg, void *arg)

crypto/lhash/lhash.c:191:10: Binary operation: ([0, +oo] - 1):unsigned32 by call to `peer_free_data` 
              189.        * memory leaks otherwise
              190.        */
              191.       for (i = lh->num_nodes - 1; i >= 0; i--) {
                              ^
              192.           a = lh->b[i];
              193.           while (a != NULL) {
