crypto/bn/bn_asm.c:189: error: INTEGER_OVERFLOW_L2
  ([0, 4294967295] + [0, 4294967295]):unsigned32.
Showing all 9 steps of the trace


crypto/bn/bn_asm.c:175:1: <LHS trace>
173.   	} 
174.   
175. > BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w)
176.   	{
177.   	BN_ULONG carry=0;

crypto/bn/bn_asm.c:175:1: Parameter `w`
173.   	} 
174.   
175. > BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w)
176.   	{
177.   	BN_ULONG carry=0;

crypto/bn/bn_asm.c:183:2: Assignment
181.   	if (num <= 0) return((BN_ULONG)0);
182.   
183.   	bl=LBITS(w);
        ^
184.   	bh=HBITS(w);
185.   

crypto/bn/bn_asm.c:189:3: Assignment
187.   	while (num&~3)
188.   		{
189.   		mul(rp[0],ap[0],bl,bh,carry);
         ^
190.   		mul(rp[1],ap[1],bl,bh,carry);
191.   		mul(rp[2],ap[2],bl,bh,carry);

crypto/bn/bn_asm.c:189:3: Assignment
187.   	while (num&~3)
188.   		{
189.   		mul(rp[0],ap[0],bl,bh,carry);
         ^
190.   		mul(rp[1],ap[1],bl,bh,carry);
191.   		mul(rp[2],ap[2],bl,bh,carry);

crypto/bn/bn_asm.c:189:3: Assignment
187.   	while (num&~3)
188.   		{
189.   		mul(rp[0],ap[0],bl,bh,carry);
         ^
190.   		mul(rp[1],ap[1],bl,bh,carry);
191.   		mul(rp[2],ap[2],bl,bh,carry);

crypto/bn/bn_asm.c:177:2: <RHS trace>
175.   BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w)
176.   	{
177.   	BN_ULONG carry=0;
        ^
178.   	BN_ULONG bl,bh;
179.   

crypto/bn/bn_asm.c:177:2: Assignment
175.   BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w)
176.   	{
177.   	BN_ULONG carry=0;
        ^
178.   	BN_ULONG bl,bh;
179.   

crypto/bn/bn_asm.c:189:3: Binary operation: ([0, 4294967295] + [0, 4294967295]):unsigned32
187.   	while (num&~3)
188.   		{
189.   		mul(rp[0],ap[0],bl,bh,carry);
         ^
190.   		mul(rp[1],ap[1],bl,bh,carry);
191.   		mul(rp[2],ap[2],bl,bh,carry);

BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w)
	{
	BN_ULONG carry=0;
	BN_ULONG bl,bh;
	assert(num >= 0);
	if (num <= 0) return((BN_ULONG)0);
	bl=LBITS(w);
	bh=HBITS(w);
#ifndef OPENSSL_SMALL_FOOTPRINT
	while (num&~3)
		{
		mul(rp[0],ap[0],bl,bh,carry);
		mul(rp[1],ap[1],bl,bh,carry);
		mul(rp[2],ap[2],bl,bh,carry);
		mul(rp[3],ap[3],bl,bh,carry);
		ap+=4; rp+=4; num-=4;
		}
#endif
	while (num)
		{
		mul(rp[0],ap[0],bl,bh,carry);
		ap++; rp++; num--;
		}
	return(carry);
	}
['BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w)\n\t{\n\tBN_ULONG carry=0;\n\tBN_ULONG bl,bh;\n\tassert(num >= 0);\n\tif (num <= 0) return((BN_ULONG)0);\n\tbl=LBITS(w);\n\tbh=HBITS(w);\n#ifndef OPENSSL_SMALL_FOOTPRINT\n\twhile (num&~3)\n\t\t{\n\t\tmul(rp[0],ap[0],bl,bh,carry);\n\t\tmul(rp[1],ap[1],bl,bh,carry);\n\t\tmul(rp[2],ap[2],bl,bh,carry);\n\t\tmul(rp[3],ap[3],bl,bh,carry);\n\t\tap+=4; rp+=4; num-=4;\n\t\t}\n#endif\n\twhile (num)\n\t\t{\n\t\tmul(rp[0],ap[0],bl,bh,carry);\n\t\tap++; rp++; num--;\n\t\t}\n\treturn(carry);\n\t}']