crypto/bn/bn_nist.c:579: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_usub`.
Showing all 9 steps of the trace


crypto/bn/bn_nist.c:573:2: Call
571.   	mask &= 0-(size_t)carry;
572.   	res   = (BN_ULONG *)(((size_t)c_d&~mask) | ((size_t)r_d&mask));
573.   	nist_cp_bn(r_d, res, BN_NIST_256_TOP);
        ^
574.   	r->top = BN_NIST_256_TOP;
575.   	bn_correct_top(r);

crypto/bn/bn_nist.c:241:1: Parameter `*buf`
  239.   	}
  240.   
  241. > static void nist_cp_bn(BN_ULONG *buf, BN_ULONG *a, int top)
  242.   	{ 
  243.   	int i;

crypto/bn/bn_nist.c:577:6: Call
575.   	bn_correct_top(r);
576.   
577.   	if (BN_ucmp(field, r) <= 0)
            ^
578.   		{
579.   		if (!BN_usub(r, r, field)) return 0;

crypto/bn/bn_lib.c:656:1: Parameter `*b->d`
  654.   	}
  655.   
  656. > int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
  657.   	{
  658.   	int i;

crypto/bn/bn_nist.c:579:8: Call
577.   	if (BN_ucmp(field, r) <= 0)
578.   		{
579.   		if (!BN_usub(r, r, field)) return 0;
              ^
580.   		}
581.   

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):unsigned32 by call to `BN_usub` 
  228.   			dif--;
  229.   			t1 = *(ap++);
  230.   			t2 = (t1-1)&BN_MASK2;
            ^
  231.   			*(rp++) = t2;
  232.   			if (t1)
