crypto/bn/bn_gcd.c:375: 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:369:22: Call
367.               if (BN_ucmp(B, A) >= 0) {
368.                   /* -sign*(X + Y)*a == B - A  (mod |n|) */
369.                   if (!BN_uadd(X, X, Y))
                            ^
370.                       goto err;
371.                   /*

crypto/bn/bn_add.c:152:13: Assignment
  150.           if (carry) {
  151.               /* carry != 0 => dif == 0 */
  152.               *rp = 1;
                     ^
  153.               r->top++;
  154.           }

crypto/bn/bn_gcd.c:375:22: Call
373.                    * actually makes the algorithm slower
374.                    */
375.                   if (!BN_usub(B, B, A))
                            ^
376.                       goto err;
377.               } 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:218:13: Assignment
  216.           while (dif) {
  217.               dif--;
  218.               t1 = *(ap++);
                     ^
  219.               t2 = (t1 - 1) & BN_MASK2;
  220.               *(rp++) = t2;

crypto/bn/bn_add.c:219:13: Binary operation: ([0, +oo] - 1):unsigned64 by call to `BN_usub` 
  217.               dif--;
  218.               t1 = *(ap++);
  219.               t2 = (t1 - 1) & BN_MASK2;
                     ^
  220.               *(rp++) = t2;
  221.               if (t1)
