ssl/s3_srvr.c:289: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `ssl3_send_alert`.
Showing all 14 steps of the trace


ssl/s3_srvr.c:282:8: Call
280.   
281.   			s->shutdown=0;
282.   			ret=ssl3_get_client_hello(s);
              ^
283.   			if (ret <= 0) goto end;
284.   #ifndef OPENSSL_NO_TLSEXT

ssl/s3_srvr.c:673:1: Parameter `s->ctx->sessions->p`
  671.   }
  672.   
  673. > int ssl3_get_client_hello(SSL *s)
  674.   	{
  675.   	int i,j,ok,al,ret= -1;

ssl/s3_srvr.c:289:6: Call
287.   				if (ssl_check_tlsext(s,&al) <= 0)
288.   					{
289.   					ssl3_send_alert(s,SSL3_AL_FATAL,al); /* XXX does this *have* to be fatal? */
            ^
290.   					SSLerr(SSL_F_SSL3_ACCEPT,SSL_R_CLIENTHELLO_TLS_EXT);
291.   					ret = -1;

ssl/s3_pkt.c:1269:1: Parameter `s->ctx->sessions->p`
  1267.   	}
  1268.   
  1269. > void ssl3_send_alert(SSL *s, int level, int desc)
  1270.   	{
  1271.   	/* Map tls/ssl alert value to correct one */

ssl/s3_pkt.c:1278:3: Call
  1276.   	/* If a fatal one, remove from cache */
  1277.   	if ((level == 2) && (s->session != NULL))
  1278.   		SSL_CTX_remove_session(s->ctx,s->session);
            ^
  1279.   
  1280.   	s->s3->alert_dispatch=1;

ssl/ssl_sess.c:542:1: Parameter `ctx->sessions->p`
    540.   	}
    541.   
    542. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
    543.   {
    544.   	return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:544:9: Call
    542.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
    543.   {
    544.   	return remove_session_lock(ctx, c, 1);
                   ^
    545.   }
    546.   

ssl/ssl_sess.c:547:1: Parameter `ctx->sessions->pmax`
      545.   }
      546.   
      547. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
      548.   	{
      549.   	SSL_SESSION *r;

ssl/ssl_sess.c:558:21: Call
      556.   			{
      557.   			ret=1;
      558.   			r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
                                 ^
      559.   			SSL_SESSION_list_remove(ctx,c);
      560.   			}

crypto/lhash/lhash.c:217:1: Parameter `lh->pmax`
        215.   	}
        216.   
        217. > void *lh_delete(LHASH *lh, const void *data)
        218.   	{
        219.   	unsigned long hash;

crypto/lhash/lhash.c:243:3: Call
        241.   	if ((lh->num_nodes > MIN_NODES) &&
        242.   		(lh->down_load >= (lh->num_items*LH_LOAD_MULT/lh->num_nodes)))
        243.   		contract(lh);
                 ^
        244.   
        245.   	return(ret);

crypto/lhash/lhash.c:361:1: <LHS trace>
359.   	}
360.   
361. > static void contract(LHASH *lh)
362.   	{
363.   	LHASH_NODE **n,*n1,*np;

crypto/lhash/lhash.c:361:1: Parameter `lh->p`
          359.   	}
          360.   
          361. > static void contract(LHASH *lh)
          362.   	{
          363.   	LHASH_NODE **n,*n1,*np;

crypto/lhash/lhash.c:365:5: Binary operation: ([0, +oo] - 1):unsigned32 by call to `ssl3_send_alert` 
          363.   	LHASH_NODE **n,*n1,*np;
          364.   
          365.   	np=lh->b[lh->p+lh->pmax-1];
                     ^
          366.   	lh->b[lh->p+lh->pmax-1]=NULL; /* 24/07-92 - eay - weird but :-( */
          367.   	if (lh->p == 0)
