ssl/s3_srvr.c:1836: 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:1714:4: Call
1712.   	X509 *peer;
1713.   
1714.   	n=ssl3_get_message(s,
           ^
1715.   		SSL3_ST_SR_CERT_VRFY_A,
1716.   		SSL3_ST_SR_CERT_VRFY_B,

ssl/s3_both.c:346:1: Parameter `s->ctx->sessions->p`
  344.    * the body is read in state 'stn'.
  345.    */
  346. > long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok)
  347.   	{
  348.   	unsigned char *p;

ssl/s3_srvr.c:1836:3: Call
1834.   		{
1835.   f_err:
1836.   		ssl3_send_alert(s,SSL3_AL_FATAL,al);
          ^
1837.   		}
1838.   end:

ssl/s3_pkt.c:1187:1: Parameter `s->ctx->sessions->p`
  1185.   	}
  1186.   
  1187. > void ssl3_send_alert(SSL *s, int level, int desc)
  1188.   	{
  1189.   	/* Map tls/ssl alert value to correct one */

ssl/s3_pkt.c:1196:3: Call
  1194.   	/* If a fatal one, remove from cache */
  1195.   	if ((level == 2) && (s->session != NULL))
  1196.   		SSL_CTX_remove_session(s->ctx,s->session);
            ^
  1197.   
  1198.   	s->s3->alert_dispatch=1;

ssl/ssl_sess.c:464:1: Parameter `ctx->sessions->p`
    462.   	}
    463.   
    464. > int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
    465.   {
    466.   	return remove_session_lock(ctx, c, 1);

ssl/ssl_sess.c:466:9: Call
    464.   int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
    465.   {
    466.   	return remove_session_lock(ctx, c, 1);
                   ^
    467.   }
    468.   

ssl/ssl_sess.c:469:1: Parameter `ctx->sessions->pmax`
      467.   }
      468.   
      469. > static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
      470.   	{
      471.   	SSL_SESSION *r;

ssl/ssl_sess.c:480:21: Call
      478.   			{
      479.   			ret=1;
      480.   			r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
                                 ^
      481.   			SSL_SESSION_list_remove(ctx,c);
      482.   			}

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((void *)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)
