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


crypto/bn/bn_mul.c:374:1: Parameter `*r`
372.    * t needs to be n2*3
373.    */
374. > void bn_mul_high(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2,
375.   	     BN_ULONG *t)
376.   	{

crypto/bn/bn_mul.c:436:3: Call
434.   #endif
435.   		{
436.   		bn_mul_recursive(&(t[0]),&(r[0]),&(r[n]),n,&(t[n2]));
         ^
437.   		bn_mul_recursive(r,&(a[n]),&(b[n]),n,&(t[n2]));
438.   		}

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:103:5: Call
  101.   		}
  102.   	/* r=(a[0]-a[1])*(b[1]-b[0]) */
  103.   	c1=bn_cmp_words(a,&(a[n]),n);
             ^
  104.   	c2=bn_cmp_words(&(b[n]),b,n);
  105.   	zero=neg=0;

crypto/bn/bn_lib.c:748:1: Parameter `*b`
    746.   	}
    747.   
    748. > int bn_cmp_words(BN_ULONG *a, BN_ULONG *b, int n)
    749.   	{
    750.   	int i;

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

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

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

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

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

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

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

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