crypto/bn/bn_sqrt.c:187: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `BN_mod_exp`.
Showing all 16 steps of the trace


crypto/bn/bn_sqrt.c:182:8: Call
180.   
181.   		/* t := 2*a */
182.   		if (!BN_mod_lshift1_quick(t, A, p)) goto end;
              ^
183.   
184.   		/* b := (2*a)^((|p|-5)/8) */

crypto/bn/bn_mod.c:221:1: Parameter `m->top`
  219.   /* BN_mod_lshift1 variant that may be used if  a  is non-negative
  220.    * and less than  m */
  221. > int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m)
  222.   	{
  223.   	if (!BN_lshift1(r, a)) return 0;

crypto/bn/bn_sqrt.c:185:8: Call
183.   
184.   		/* b := (2*a)^((|p|-5)/8) */
185.   		if (!BN_rshift(q, p, 3)) goto end;
              ^
186.   		q->neg = 0;
187.   		if (!BN_mod_exp(b, t, q, p, ctx)) goto end;

crypto/bn/bn_shift.c:168:1: Parameter `r->dmax`
  166.   	}
  167.   
  168. > int BN_rshift(BIGNUM *r, const BIGNUM *a, int n)
  169.   	{
  170.   	int i,j,nw,lb,rb;

crypto/bn/bn_sqrt.c:187:8: Call
185.   		if (!BN_rshift(q, p, 3)) goto end;
186.   		q->neg = 0;
187.   		if (!BN_mod_exp(b, t, q, p, ctx)) goto end;
              ^
188.   
189.   		/* y := b^2 */

crypto/bn/bn_exp.c:163:1: Parameter `m->top`
  161.   
  162.   
  163. > int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
  164.   	       BN_CTX *ctx)
  165.   	{

crypto/bn/bn_exp.c:228:9: Call
  226.   #endif
  227.   #ifdef RECP_MUL_MOD
  228.   		{ ret=BN_mod_exp_recp(r,a,p,m,ctx); }
                 ^
  229.   #else
  230.   		{ ret=BN_mod_exp_simple(r,a,p,m,ctx); }

crypto/bn/bn_exp.c:238:1: Parameter `m->top`
    236.   
    237.   
    238. > int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
    239.   		    const BIGNUM *m, BN_CTX *ctx)
    240.   	{

crypto/bn/bn_exp.c:278:7: Call
    276.   	else
    277.   		{
    278.   		if (BN_RECP_CTX_set(&recp,m,ctx) <= 0) goto err;
                 ^
    279.   		}
    280.   

crypto/bn/bn_recp.c:94:1: Parameter `d->top`
      92.   	}
      93.   
      94. > int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *d, BN_CTX *ctx)
      95.   	{
      96.   	if (!BN_copy(&(recp->N),d)) return 0;

crypto/bn/bn_recp.c:96:7: Call
      94.   int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *d, BN_CTX *ctx)
      95.   	{
      96.   	if (!BN_copy(&(recp->N),d)) return 0;
                  ^
      97.   	BN_zero(&(recp->Nr));
      98.   	recp->num_bits=BN_num_bits(d);

crypto/bn/bn_lib.c:497:1: Parameter `a->dmax`
        495.   	}
        496.   
        497. > BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
        498.   	{
        499.   	int i;

crypto/bn/bn_recp.c:98:17: Call
      96.   	if (!BN_copy(&(recp->N),d)) return 0;
      97.   	BN_zero(&(recp->Nr));
      98.   	recp->num_bits=BN_num_bits(d);
                             ^
      99.   	recp->shift=0;
      100.   	return(1);

crypto/bn/bn_lib.c:248:1: <LHS trace>
246.   	}
247.   
248. > int BN_num_bits(const BIGNUM *a)
249.   	{
250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:248:1: Parameter `a->top`
        246.   	}
        247.   
        248. > int BN_num_bits(const BIGNUM *a)
        249.   	{
        250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:250:2: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_mod_exp` 
        248.   int BN_num_bits(const BIGNUM *a)
        249.   	{
        250.   	int i = a->top - 1;
                ^
        251.   	bn_check_top(a);
        252.   
