crypto/bn/bn_mul.c:817: error: INTEGER_OVERFLOW_L2
  (0 - [0, max(4294967295, `*r`)]):unsigned32 by call to `bn_mul_recursive`.
Showing all 12 steps of the trace


crypto/bn/bn_mul.c:755:1: Parameter `*r`
753.    * t needs to be n2*3
754.    */
755. > void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2,
756.   	     BN_ULONG *t)
757.   	{

crypto/bn/bn_mul.c:817:3: Call
815.   # endif
816.   		{
817.   		bn_mul_recursive(&(t[0]),&(r[0]),&(r[n]),n,0,0,&(t[n2]));
         ^
818.   		bn_mul_recursive(r,&(a[n]),&(b[n]),n,0,0,&(t[n2]));
819.   		}

crypto/bn/bn_mul.c:392:1: Parameter `*a`
  390.    * a[1]*b[1]
  391.    */
  392. > void bn_mul_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,
  393.   	int dna, int dnb, BN_ULONG *t)
  394.   	{

crypto/bn/bn_mul.c:430:5: Call
  428.   		}
  429.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
  430.   	c1=bn_cmp_part_words(a,&(a[n]),tna,n-tna);
             ^
  431.   	c2=bn_cmp_part_words(&(b[n]),b,tnb,tnb-n);
  432.   	zero=neg=0;

crypto/bn/bn_lib.c:822:1: Parameter `*b`
    820.      All lengths are the number of BN_ULONGs...  */
    821.   
    822. > int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b,
    823.   	int cl, int dl)
    824.   	{

crypto/bn/bn_mul.c:436:3: Call
  434.   		{
  435.   	case -4:
  436.   		bn_sub_part_words(t,      &(a[n]),a,      tna,tna-n); /* - */
           ^
  437.   		bn_sub_part_words(&(t[n]),b,      &(b[n]),tnb,n-tnb); /* - */
  438.   		break;

crypto/bn/bn_mul.c:80:1: <RHS trace>
78.      assembler counterparts for the systems that use assembler files.  */
79.   
80. > BN_ULONG bn_sub_part_words(BN_ULONG *r,
81.   	const BN_ULONG *a, const BN_ULONG *b,
82.   	int cl, int dl)

crypto/bn/bn_mul.c:80:1: Parameter `*b`
    78.      assembler counterparts for the systems that use assembler files.  */
    79.   
    80. > BN_ULONG bn_sub_part_words(BN_ULONG *r,
    81.   	const BN_ULONG *a, const BN_ULONG *b,
    82.   	int cl, int dl)

crypto/bn/bn_mul.c:87:6: Call
    85.   
    86.   	assert(cl >= 0);
    87.   	c = bn_sub_words(r, a, b, cl);
               ^
    88.   
    89.   	if (dl == 0)

crypto/bn/bn_asm.c:393:1: Parameter `*b`
      391.   #endif /* !BN_LLONG */
      392.   
      393. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
      394.           {
      395.   	BN_ULONG t1,t2;

crypto/bn/bn_mul.c:103:4: Assignment
    101.   		for (;;)
    102.   			{
    103.   			t = b[0];
              ^
    104.   			r[0] = (0-t-c)&BN_MASK2;
    105.   			if (t != 0) c=1;

crypto/bn/bn_mul.c:104:4: Binary operation: (0 - [0, max(4294967295, *r)]):unsigned32 by call to `bn_mul_recursive` 
    102.   			{
    103.   			t = b[0];
    104.   			r[0] = (0-t-c)&BN_MASK2;
              ^
    105.   			if (t != 0) c=1;
    106.   			if (++dl >= 0) break;
