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


crypto/bn/bn_mul.c:746:1: Parameter `*r`
744.    * t needs to be n2*3
745.    */
746. > void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2,
747.   	     BN_ULONG *t)
748.   	{

crypto/bn/bn_mul.c:808:3: Call
806.   # endif
807.   		{
808.   		bn_mul_recursive(&(t[0]),&(r[0]),&(r[n]),n,0,0,&(t[n2]));
         ^
809.   		bn_mul_recursive(r,&(a[n]),&(b[n]),n,0,0,&(t[n2]));
810.   		}

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:424:5: Call
  422.   		}
  423.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
  424.   	c1=bn_cmp_part_words(a,&(a[n]),tna,n-tna);
             ^
  425.   	c2=bn_cmp_part_words(&(b[n]),b,tnb,tnb-n);
  426.   	zero=neg=0;

crypto/bn/bn_lib.c:795:1: Parameter `*b`
    793.      All lengths are the number of BN_ULONGs...  */
    794.   
    795. > int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b,
    796.   	int cl, int dl)
    797.   	{

crypto/bn/bn_mul.c:430:3: Call
  428.   		{
  429.   	case -4:
  430.   		bn_sub_part_words(t,      &(a[n]),a,      tna,tna-n); /* - */
           ^
  431.   		bn_sub_part_words(&(t[n]),b,      &(b[n]),tnb,n-tnb); /* - */
  432.   		break;

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:385:1: <LHS trace>
383.   #endif /* !BN_LLONG */
384.   
385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
386.           {
387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:385:1: Parameter `*a`
      383.   #endif /* !BN_LLONG */
      384.   
      385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
      386.           {
      387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:395:3: Assignment
      393.   	for (;;)
      394.   		{
      395.   		t1=a[0]; t2=b[0];
               ^
      396.   		r[0]=(t1-t2-c)&BN_MASK2;
      397.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:385:1: <RHS trace>
383.   #endif /* !BN_LLONG */
384.   
385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
386.           {
387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:385:1: Parameter `*b`
      383.   #endif /* !BN_LLONG */
      384.   
      385. > BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int n)
      386.           {
      387.   	BN_ULONG t1,t2;

crypto/bn/bn_asm.c:395:12: Assignment
      393.   	for (;;)
      394.   		{
      395.   		t1=a[0]; t2=b[0];
                        ^
      396.   		r[0]=(t1-t2-c)&BN_MASK2;
      397.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:396:3: Binary operation: ([0, max(4294967295, *r)] - [0, max(4294967295, *r)]):unsigned64 by call to `bn_mul_recursive` 
      394.   		{
      395.   		t1=a[0]; t2=b[0];
      396.   		r[0]=(t1-t2-c)&BN_MASK2;
               ^
      397.   		if (t1 != t2) c=(t1 < t2);
      398.   		if (--n <= 0) break;
