crypto/bn/bn_gcd.c:321: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `BN_usub`.
Showing all 7 steps of the trace


crypto/bn/bn_gcd.c:274:11: Call
272.   				if (BN_is_odd(X))
273.   					{
274.   					if (!BN_uadd(X, X, n)) goto err;
                 ^
275.   					}
276.   				/* now X is even, so we can easily divide it by two */

crypto/bn/bn_add.c:107:1: Parameter `*r->d`
  105.   
  106.   /* unsigned add of b to a, r must be large enough */
  107. > int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  108.   	{
  109.   	register int i;

crypto/bn/bn_gcd.c:321:10: Call
319.   				/* NB: we could use BN_mod_add_quick(X, X, Y, n), but that
320.   				 * actually makes the algorithm slower */
321.   				if (!BN_usub(B, B, A)) goto err;
                ^
322.   				}
323.   			else

crypto/bn/bn_add.c:168:1: <LHS trace>
166.   
167.   /* unsigned subtraction of b from a, a must be larger than b. */
168. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
169.   	{
170.   	int max,min;

crypto/bn/bn_add.c:168:1: Parameter `*a->d`
  166.   
  167.   /* unsigned subtraction of b from a, a must be larger than b. */
  168. > int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  169.   	{
  170.   	int max,min;

crypto/bn/bn_add.c:227:4: Assignment
  225.   			{
  226.   			i++;
  227.   			t1= *(ap++);
            ^
  228.   			t2=(t1-1)&BN_MASK2;
  229.   			*(rp++)=t2;

crypto/bn/bn_add.c:228:4: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_usub` 
  226.   			i++;
  227.   			t1= *(ap++);
  228.   			t2=(t1-1)&BN_MASK2;
            ^
  229.   			*(rp++)=t2;
  230.   			if (t1 > t2) break;
