test/ssl_test.c:494: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `do_handshake`.
Showing all 22 steps of the trace


test/ssl_test.c:494:14: Call
492.           goto err;
493.   
494.       result = do_handshake(server_ctx, server2_ctx, client_ctx,
                    ^
495.                             resume_server_ctx, resume_client_ctx, test_ctx);
496.   

test/handshake_helper.c:1711:1: Parameter `client_ctx->sessions->num_items`
  1709.   }
  1710.   
  1711. > HANDSHAKE_RESULT *do_handshake(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,
  1712.                                  SSL_CTX *client_ctx, SSL_CTX *resume_server_ctx,
  1713.                                  SSL_CTX *resume_client_ctx,

test/handshake_helper.c:1719:14: Call
  1717.       SSL_SESSION *session = NULL, *serv_sess = NULL;
  1718.   
  1719.       result = do_handshake_internal(server_ctx, server2_ctx, client_ctx,
                       ^
  1720.                                      test_ctx, &test_ctx->extra,
  1721.                                      NULL, NULL, &session, &serv_sess);

test/handshake_helper.c:1396:1: Parameter `client_ctx->sessions->num_items`
    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:1446:10: Call
    1444.           goto err;
    1445.       }
    1446.       if (!create_peer(&client, client_ctx)) {
                     ^
    1447.           TEST_note("creating client context");
    1448.           goto err;

test/handshake_helper.c:755:1: Parameter `ctx->sessions->num_items`
      753.   } PEER;
      754.   
      755. > static int create_peer(PEER *peer, SSL_CTX *ctx)
      756.   {
      757.       static const int peer_buffer_size = 64 * 1024;

test/handshake_helper.c:761:10: Call
      759.       unsigned char *read_buf = NULL, *write_buf = NULL;
      760.   
      761.       if (!TEST_ptr(ssl = SSL_new(ctx))
                      ^
      762.               || !TEST_ptr(write_buf = OPENSSL_zalloc(peer_buffer_size))
      763.               || !TEST_ptr(read_buf = OPENSSL_zalloc(peer_buffer_size)))

ssl/ssl_lib.c:669:1: Parameter `ctx->sessions->num_items`
        667.   }
        668.   
        669. > SSL *SSL_new(SSL_CTX *ctx)
        670.   {
        671.       SSL *s;

ssl/ssl_lib.c:813:10: Call
        811.       s->server = (ctx->method->ssl_accept == ssl_undefined_function) ? 0 : 1;
        812.   
        813.       if (!SSL_clear(s))
                        ^
        814.           goto err;
        815.   

ssl/ssl_lib.c:577:1: Parameter `s->session_ctx->sessions->num_items`
          575.   }
          576.   
          577. > int SSL_clear(SSL *s)
          578.   {
          579.       if (s->method == NULL) {

ssl/ssl_lib.c:584:9: Call
          582.       }
          583.   
          584.       if (ssl_clear_bad_session(s)) {
                         ^
          585.           SSL_SESSION_free(s->session);
          586.           s->session = NULL;

ssl/ssl_sess.c:1139:1: Parameter `s->session_ctx->sessions->num_items`
            1137.   }
            1138.   
            1139. > int ssl_clear_bad_session(SSL *s)
            1140.   {
            1141.       if ((s->session != NULL) &&

ssl/ssl_sess.c:1144:9: Call
            1142.           !(s->shutdown & SSL_SENT_SHUTDOWN) &&
            1143.           !(SSL_in_init(s) || SSL_in_before(s))) {
            1144.           SSL_CTX_remove_session(s->session_ctx, s->session);
                            ^
            1145.           return 1;
            1146.       } else

ssl/ssl_sess.c:757:1: Parameter `ctx->sessions->num_items`
              755.   }
              756.   
              757. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
              758.   {
              759.       return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:759:12: Call
              757.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
              758.   {
              759.       return remove_session_lock(ctx, c, 1);
                                ^
              760.   }
              761.   

ssl/ssl_sess.c:762:1: Parameter `ctx->sessions->num_items`
                760.   }
                761.   
                762. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
                763.   {
                764.       SSL_SESSION *r;

ssl/ssl_sess.c:772:17: Call
                770.           if ((r = lh_SSL_SESSION_retrieve(ctx->sessions, c)) != NULL) {
                771.               ret = 1;
                772.               r = lh_SSL_SESSION_delete(ctx->sessions, r);
                                       ^
                773.               SSL_SESSION_list_remove(ctx, r);
                774.           }

ssl/ssl_locl.h:727:1: Parameter `lh->num_items`
                  725.   } TLSEXT_INDEX;
                  726.   
                  727. > DEFINE_LHASH_OF(SSL_SESSION);
                  728.   /* Needed in ssl_cert.c */
                  729.   DEFINE_LHASH_OF(X509_NAME);

ssl/ssl_locl.h:727:1: Call
                  725.   } TLSEXT_INDEX;
                  726.   
                  727. > DEFINE_LHASH_OF(SSL_SESSION);
                  728.   /* Needed in ssl_cert.c */
                  729.   DEFINE_LHASH_OF(X509_NAME);

crypto/lhash/lhash.c:126:1: <LHS trace>
124.   }
125.   
126. > void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
127.   {
128.       unsigned long hash;

crypto/lhash/lhash.c:126:1: Parameter `lh->num_items`
                    124.   }
                    125.   
                    126. > void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
                    127.   {
                    128.       unsigned long hash;

crypto/lhash/lhash.c:146:5: Binary operation: ([0, +oo] - 1):unsigned64 by call to `do_handshake` 
                    144.       }
                    145.   
                    146.       lh->num_items--;
                               ^
                    147.       if ((lh->num_nodes > MIN_NODES) &&
                    148.           (lh->down_load >= (lh->num_items * LH_LOAD_MULT / lh->num_nodes)))
