crypto/bn/bn_gcd.c:323: 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:276:11: Call
274.   				if (BN_is_odd(X))
275.   					{
276.   					if (!BN_uadd(X, X, n)) goto err;
                 ^
277.   					}
278.   				/* now X is even, so we can easily divide it by two */

crypto/bn/bn_add.c:105:1: Parameter `*r->d`
  103.   
  104.   /* unsigned add of b to a */
  105. > int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  106.   	{
  107.   	int max,min,dif;

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

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

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

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

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