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


crypto/bn/bn_mul.c:220:1: Parameter `*t`
218.   /* n+tn is the word length
219.    * t needs to be n*4 is size, as does r */
220. > void bn_mul_part_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int tn,
221.   	     int n, BN_ULONG *t)
222.   	{

crypto/bn/bn_mul.c:238:2: Call
236.   
237.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
238.   	bn_sub_words(t,      a,      &(a[n]),n); /* + */
        ^
239.   	bn_sub_words(&(t[n]),b,      &(b[n]),n); /* - */
240.   

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

crypto/bn/bn_mul.c:239:2: Call
237.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
238.   	bn_sub_words(t,      a,      &(a[n]),n); /* + */
239.   	bn_sub_words(&(t[n]),b,      &(b[n]),n); /* - */
        ^
240.   
241.   # if 0

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

crypto/bn/bn_mul.c:261:3: Call
259.   		{
260.   		p= &(t[n2*2]);
261.   		bn_mul_recursive(&(t[n2]),t,&(t[n]),n,p);
         ^
262.   		bn_mul_recursive(r,a,b,n,p);
263.   		i=n/2;

crypto/bn/bn_mul.c:74:1: Parameter `*a`
  72.    * a[1]*b[1]
  73.    */
  74. > void bn_mul_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,
  75.   	     BN_ULONG *t)
  76.   	{

crypto/bn/bn_mul.c:105:5: Call
  103.   		}
  104.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
  105.   	c1=bn_cmp_words(a,&(a[n]),n);
             ^
  106.   	c2=bn_cmp_words(&(b[n]),b,n);
  107.   	zero=neg=0;

crypto/bn/bn_lib.c:739:1: Parameter `*b`
    737.   	}
    738.   
    739. > int bn_cmp_words(BN_ULONG *a, BN_ULONG *b, int n)
    740.   	{
    741.   	int i;

crypto/bn/bn_mul.c:111:3: Call
  109.   		{
  110.   	case -4:
  111.   		bn_sub_words(t,      &(a[n]),a,      n); /* - */
           ^
  112.   		bn_sub_words(&(t[n]),b,      &(b[n]),n); /* - */
  113.   		break;

crypto/bn/bn_asm.c:390:1: <LHS trace>
388.   #endif /* !BN_LLONG */
389.   
390. > BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
391.           {
392.   	BN_ULONG t1,t2;

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

crypto/bn/bn_asm.c:400:3: Assignment
    398.   	for (;;)
    399.   		{
    400.   		t1=a[0]; t2=b[0];
             ^
    401.   		r[0]=(t1-t2-c)&BN_MASK2;
    402.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:390:1: <RHS trace>
388.   #endif /* !BN_LLONG */
389.   
390. > BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
391.           {
392.   	BN_ULONG t1,t2;

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

crypto/bn/bn_asm.c:400:12: Assignment
    398.   	for (;;)
    399.   		{
    400.   		t1=a[0]; t2=b[0];
                      ^
    401.   		r[0]=(t1-t2-c)&BN_MASK2;
    402.   		if (t1 != t2) c=(t1 < t2);

crypto/bn/bn_asm.c:401:3: Binary operation: ([0, max(4294967295, *t)] - [0, max(4294967295, *t)]):unsigned64 by call to `bn_mul_recursive` 
    399.   		{
    400.   		t1=a[0]; t2=b[0];
    401.   		r[0]=(t1-t2-c)&BN_MASK2;
             ^
    402.   		if (t1 != t2) c=(t1 < t2);
    403.   		if (--n <= 0) break;
