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


crypto/bn/bn_add.c:64:1: Parameter `*b->d`
62.   
63.   /* r can == a or b */
64. > int BN_add(BIGNUM *r, BIGNUM *a, BIGNUM *b)
65.   	{
66.   	BIGNUM *tmp;

crypto/bn/bn_add.c:84:7: Call
82.   		/* we are now a - b */
83.   
84.   		if (BN_ucmp(a,b) < 0)
            ^
85.   			{
86.   			if (!BN_usub(r,b,a)) return(0);

crypto/bn/bn_lib.c:646:1: Parameter `*b->d`
  644.   	}
  645.   
  646. > int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
  647.   	{
  648.   	int i;

crypto/bn/bn_add.c:86:9: Call
84.   		if (BN_ucmp(a,b) < 0)
85.   			{
86.   			if (!BN_usub(r,b,a)) return(0);
              ^
87.   			r->neg=1;
88.   			}

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

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

crypto/bn/bn_add.c:226:4: Assignment
  224.   			{
  225.   			i++;
  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.   			i++;
  226.   			t1= *(ap++);
  227.   			t2=(t1-1)&BN_MASK2;
            ^
  228.   			*(rp++)=t2;
  229.   			if (t1 > t2) break;
