crypto/bn/bn_gcd.c:347: 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:344:10: Call
342.   				{
343.   				/* -sign*(X + Y)*a == B - A  (mod |n|) */
344.   				if (!BN_uadd(X, X, Y)) goto err;
                ^
345.   				/* NB: we could use BN_mod_add_quick(X, X, Y, n), but that
346.   				 * actually makes the algorithm slower */

crypto/bn/bn_add.c:154:4: Assignment
  152.   			{
  153.   			/* carry != 0 => dif == 0 */
  154.   			*rp = 1;
            ^
  155.   			r->top++;
  156.   			}

crypto/bn/bn_gcd.c:347:10: Call
345.   				/* NB: we could use BN_mod_add_quick(X, X, Y, n), but that
346.   				 * actually makes the algorithm slower */
347.   				if (!BN_usub(B, B, A)) goto err;
                ^
348.   				}
349.   			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,dif;

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,dif;

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

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