ssl/statem/statem_clnt.c:2236: error: INTEGER_OVERFLOW_L2
  ([0, max(0, `s->ctx->sessions->num_items`)] - 1):unsigned64 by call to `ssl3_send_alert`.
Showing all 13 steps of the trace


ssl/statem/statem_clnt.c:2210:1: Parameter `s->ctx->sessions->num_items`
2208.   }
2209.   
2210. > MSG_PROCESS_RETURN tls_process_server_done(SSL *s, PACKET *pkt)
2211.   {
2212.       if (PACKET_remaining(pkt) > 0) {

ssl/statem/statem_clnt.c:2235:10: Call
2233.        * the server
2234.        */
2235.       if (!ssl3_check_cert_and_algorithm(s)) {
                 ^
2236.           ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
2237.           ossl_statem_set_error(s);

ssl/statem/statem_clnt.c:3102:1: Parameter `s->ctx->sessions->num_items`
  3100.   #define has_bits(i,m)   (((i)&(m)) == (m))
  3101.   
  3102. > int ssl3_check_cert_and_algorithm(SSL *s)
  3103.   {
  3104.       int i;

ssl/statem/statem_clnt.c:2236:9: Call
2234.        */
2235.       if (!ssl3_check_cert_and_algorithm(s)) {
2236.           ssl3_send_alert(s, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
                ^
2237.           ossl_statem_set_error(s);
2238.           return MSG_PROCESS_ERROR;

ssl/s3_msg.c:166:1: Parameter `s->ctx->sessions->num_items`
  164.   }
  165.   
  166. > int ssl3_send_alert(SSL *s, int level, int desc)
  167.   {
  168.       /* Map tls/ssl alert value to correct one */

ssl/s3_msg.c:177:9: Call
  175.       /* If a fatal one, remove from cache */
  176.       if ((level == SSL3_AL_FATAL) && (s->session != NULL))
  177.           SSL_CTX_remove_session(s->ctx, s->session);
                 ^
  178.   
  179.       s->s3->alert_dispatch = 1;

ssl/ssl_sess.c:785:1: Parameter `ctx->sessions->num_items`
    783.   }
    784.   
    785. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
    786.   {
    787.       return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:787:12: Call
    785.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
    786.   {
    787.       return remove_session_lock(ctx, c, 1);
                      ^
    788.   }
    789.   

ssl/ssl_sess.c:790:1: Parameter `ctx->sessions->num_items`
      788.   }
      789.   
      790. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
      791.   {
      792.       SSL_SESSION *r;

ssl/ssl_sess.c:800:17: Call
      798.           if ((r = lh_SSL_SESSION_retrieve(ctx->sessions, c)) == c) {
      799.               ret = 1;
      800.               r = lh_SSL_SESSION_delete(ctx->sessions, c);
                             ^
      801.               SSL_SESSION_list_remove(ctx, c);
      802.           }

crypto/lhash/lhash.c:189:1: <LHS trace>
187.   }
188.   
189. > void *lh_delete(_LHASH *lh, const void *data)
190.   {
191.       unsigned long hash;

crypto/lhash/lhash.c:189:1: Parameter `lh->num_items`
        187.   }
        188.   
        189. > void *lh_delete(_LHASH *lh, const void *data)
        190.   {
        191.       unsigned long hash;

crypto/lhash/lhash.c:209:5: Binary operation: ([0, max(0, s->ctx->sessions->num_items)] - 1):unsigned64 by call to `ssl3_send_alert` 
        207.       }
        208.   
        209.       lh->num_items--;
                   ^
        210.       if ((lh->num_nodes > MIN_NODES) &&
        211.           (lh->down_load >= (lh->num_items * LH_LOAD_MULT / lh->num_nodes)))
