crypto/bn/bn_word.c:149: error: INTEGER_OVERFLOW_L2
  ([0, max(4294967295, `*a->d`)] + [1, 4294967295]):unsigned32.
Showing all 6 steps of the trace


crypto/bn/bn_word.c:126:1: <LHS trace>
124.   	}
125.   
126. > int BN_add_word(BIGNUM *a, BN_ULONG w)
127.   	{
128.   	BN_ULONG l;

crypto/bn/bn_word.c:126:1: Parameter `*a->d`
124.   	}
125.   
126. > int BN_add_word(BIGNUM *a, BN_ULONG w)
127.   	{
128.   	BN_ULONG l;

crypto/bn/bn_word.c:126:1: <RHS trace>
124.   	}
125.   
126. > int BN_add_word(BIGNUM *a, BN_ULONG w)
127.   	{
128.   	BN_ULONG l;

crypto/bn/bn_word.c:126:1: Parameter `w`
124.   	}
125.   
126. > int BN_add_word(BIGNUM *a, BN_ULONG w)
127.   	{
128.   	BN_ULONG l;

crypto/bn/bn_word.c:132:2: Assignment
130.   
131.   	bn_check_top(a);
132.   	w &= BN_MASK2;
        ^
133.   
134.   	/* degenerate case: w is zero */

crypto/bn/bn_word.c:149:13: Binary operation: ([0, max(4294967295, *a->d)] + [1, 4294967295]):unsigned32
147.   	for (i=0;w!=0 && i<a->top;i++)
148.   		{
149.   		a->d[i] = l = (a->d[i]+w)&BN_MASK2;
                   ^
150.   		w = (w>l)?1:0;
151.   		}

int BN_add_word(BIGNUM *a, BN_ULONG w)
	{
	BN_ULONG l;
	int i;
	bn_check_top(a);
	w &= BN_MASK2;
	if (!w) return 1;
	if(BN_is_zero(a)) return BN_set_word(a, w);
	if (a->neg)
		{
		a->neg=0;
		i=BN_sub_word(a,w);
		if (!BN_is_zero(a))
			a->neg=!(a->neg);
		return(i);
		}
	for (i=0;w!=0 && i<a->top;i++)
		{
		a->d[i] = l = (a->d[i]+w)&BN_MASK2;
		w = (w>l)?1:0;
		}
	if (w && i==a->top)
		{
		if (bn_wexpand(a,a->top+1) == NULL) return 0;
		a->top++;
		a->d[i]=w;
		}
	bn_check_top(a);
	return(1);
	}
['int BN_add_word(BIGNUM *a, BN_ULONG w)\n\t{\n\tBN_ULONG l;\n\tint i;\n\tbn_check_top(a);\n\tw &= BN_MASK2;\n\tif (!w) return 1;\n\tif(BN_is_zero(a)) return BN_set_word(a, w);\n\tif (a->neg)\n\t\t{\n\t\ta->neg=0;\n\t\ti=BN_sub_word(a,w);\n\t\tif (!BN_is_zero(a))\n\t\t\ta->neg=!(a->neg);\n\t\treturn(i);\n\t\t}\n\tfor (i=0;w!=0 && i<a->top;i++)\n\t\t{\n\t\ta->d[i] = l = (a->d[i]+w)&BN_MASK2;\n\t\tw = (w>l)?1:0;\n\t\t}\n\tif (w && i==a->top)\n\t\t{\n\t\tif (bn_wexpand(a,a->top+1) == NULL) return 0;\n\t\ta->top++;\n\t\ta->d[i]=w;\n\t\t}\n\tbn_check_top(a);\n\treturn(1);\n\t}']