test/sslapitest.c:1053: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `SSL_free`.
Showing all 16 steps of the trace


test/sslapitest.c:998:21: Call
996.   
997.       if (!TEST_ptr(ctx = SSL_CTX_new(TLS_method()))
998.                   || !TEST_ptr(ssl = SSL_new(ctx)))
                            ^
999.           goto end;
1000.   

ssl/ssl_lib.c:518:1: Parameter `ctx->sessions->num_items`
  516.   }
  517.   
  518. > SSL *SSL_new(SSL_CTX *ctx)
  519.   {
  520.       SSL *s;

test/sslapitest.c:1053:5: Call
1051.   
1052.    end:
1053.       SSL_free(ssl);
            ^
1054.       BIO_free(bio1);
1055.       BIO_free(bio2);

ssl/ssl_lib.c:964:1: Parameter `s->session_ctx->sessions->num_items`
  962.   }
  963.   
  964. > void SSL_free(SSL *s)
  965.   {
  966.       int i;

ssl/ssl_lib.c:995:9: Call
  993.       /* Make the next call work :-) */
  994.       if (s->session != NULL) {
  995.           ssl_clear_bad_session(s);
                 ^
  996.           SSL_SESSION_free(s->session);
  997.       }

ssl/ssl_sess.c:1057:1: Parameter `s->session_ctx->sessions->num_items`
    1055.   }
    1056.   
    1057. > int ssl_clear_bad_session(SSL *s)
    1058.   {
    1059.       if ((s->session != NULL) &&

ssl/ssl_sess.c:1062:9: Call
    1060.           !(s->shutdown & SSL_SENT_SHUTDOWN) &&
    1061.           !(SSL_in_init(s) || SSL_in_before(s))) {
    1062.           SSL_CTX_remove_session(s->session_ctx, s->session);
                    ^
    1063.           return (1);
    1064.       } else

ssl/ssl_sess.c:733:1: Parameter `ctx->sessions->num_items`
      731.   }
      732.   
      733. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      734.   {
      735.       return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:735:12: Call
      733.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
      734.   {
      735.       return remove_session_lock(ctx, c, 1);
                        ^
      736.   }
      737.   

ssl/ssl_sess.c:738:1: Parameter `ctx->sessions->num_items`
        736.   }
        737.   
        738. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
        739.   {
        740.       SSL_SESSION *r;

ssl/ssl_sess.c:748:17: Call
        746.           if ((r = lh_SSL_SESSION_retrieve(ctx->sessions, c)) == c) {
        747.               ret = 1;
        748.               r = lh_SSL_SESSION_delete(ctx->sessions, c);
                               ^
        749.               SSL_SESSION_list_remove(ctx, c);
        750.           }

ssl/ssl_locl.h:719:1: Parameter `lh->num_items`
          717.   } TLSEXT_INDEX;
          718.   
          719. > DEFINE_LHASH_OF(SSL_SESSION);
          720.   /* Needed in ssl_cert.c */
          721.   DEFINE_LHASH_OF(X509_NAME);

ssl/ssl_locl.h:719:1: Call
          717.   } TLSEXT_INDEX;
          718.   
          719. > DEFINE_LHASH_OF(SSL_SESSION);
          720.   /* Needed in ssl_cert.c */
          721.   DEFINE_LHASH_OF(X509_NAME);

crypto/lhash/lhash.c:106:1: <LHS trace>
104.   }
105.   
106. > void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
107.   {
108.       unsigned long hash;

crypto/lhash/lhash.c:106:1: Parameter `lh->num_items`
            104.   }
            105.   
            106. > void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
            107.   {
            108.       unsigned long hash;

crypto/lhash/lhash.c:126:5: Binary operation: ([0, +oo] - 1):unsigned64 by call to `SSL_free` 
            124.       }
            125.   
            126.       lh->num_items--;
                       ^
            127.       if ((lh->num_nodes > MIN_NODES) &&
            128.           (lh->down_load >= (lh->num_items * LH_LOAD_MULT / lh->num_nodes)))
