engines/ccgost/gost2001_keyx.c:46: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `EC_POINT_mul`.
Showing all 14 steps of the trace


engines/ccgost/gost2001_keyx.c:45:2: Call
43.   	Y=BN_CTX_get(ctx);
44.   	EC_GROUP_get_order(EC_KEY_get0_group(priv_key),order,ctx);
45.   	BN_mod_mul(p,key,UKM,order,ctx);	
       ^
46.   	EC_POINT_mul(EC_KEY_get0_group(priv_key),pnt,NULL,pub_key,p,ctx);
47.   	EC_POINT_get_affine_coordinates_GFp(EC_KEY_get0_group(priv_key),

crypto/bn/bn_mod.c:194:7: Call
  192.   	else
  193.   		{ if (!BN_mul(t,a,b,ctx)) goto err; }
  194.   	if (!BN_nnmod(r,t,m,ctx)) goto err;
               ^
  195.   	bn_check_top(r);
  196.   	ret=1;

crypto/bn/bn_mod.c:132:8: Call
    130.   	 * (i.e.,  0 <= r < |d|  always holds) */
    131.   
    132.   	if (!(BN_mod(r,m,d,ctx)))
                  ^
    133.   		return 0;
    134.   	if (!r->neg)

crypto/bn/bn_div.c:181:1: Parameter `dv->top`
      179.   static int BN_div_no_branch(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
      180.           const BIGNUM *divisor, BN_CTX *ctx);
      181. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
      182.   	   BN_CTX *ctx)
      183.   	{

engines/ccgost/gost2001_keyx.c:46:2: Call
44.   	EC_GROUP_get_order(EC_KEY_get0_group(priv_key),order,ctx);
45.   	BN_mod_mul(p,key,UKM,order,ctx);	
46.   	EC_POINT_mul(EC_KEY_get0_group(priv_key),pnt,NULL,pub_key,p,ctx);
       ^
47.   	EC_POINT_get_affine_coordinates_GFp(EC_KEY_get0_group(priv_key),
48.   		pnt,X,Y,ctx);

crypto/ec/ec_lib.c:1128:1: Parameter `g_scalar->top`
  1126.   	}
  1127.   
  1128. > int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar,
  1129.   	const EC_POINT *point, const BIGNUM *p_scalar, BN_CTX *ctx)
  1130.   	{

crypto/ec/ec_lib.c:1139:9: Call
  1137.   	scalars[0] = p_scalar;
  1138.   
  1139.   	return EC_POINTs_mul(group, r, g_scalar, (point != NULL && p_scalar != NULL), points, scalars, ctx);
                  ^
  1140.   	}
  1141.   

crypto/ec/ec_lib.c:1118:1: Parameter `scalar->top`
    1116.    */
    1117.   
    1118. > int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    1119.   	size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *ctx)
    1120.   	{

crypto/ec/ec_lib.c:1123:10: Call
    1121.   	if (group->meth->mul == 0)
    1122.   		/* use default */
    1123.   		return ec_wNAF_mul(group, r, scalar, num, points, scalars, ctx);
                     ^
    1124.   
    1125.   	return group->meth->mul(group, r, scalar, num, points, scalars, ctx);

crypto/ec/ec_mult.c:344:1: Parameter `scalar->top`
      342.    * in the addition if scalar != NULL
      343.    */
      344. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
      345.   	size_t num, const EC_POINT *points[], const BIGNUM *scalars[], BN_CTX *ctx)
      346.   	{

crypto/ec/ec_mult.c:416:17: Call
      414.   			/* determine maximum number of blocks that wNAF splitting may yield
      415.   			 * (NB: maximum wNAF length is bit length plus one) */
      416.   			numblocks = (BN_num_bits(scalar) / blocksize) + 1;
                             ^
      417.   
      418.   			/* we cannot use more blocks than we have precomputation for */

crypto/bn/bn_lib.c:248:1: <LHS trace>
246.   	}
247.   
248. > int BN_num_bits(const BIGNUM *a)
249.   	{
250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:248:1: Parameter `a->top`
        246.   	}
        247.   
        248. > int BN_num_bits(const BIGNUM *a)
        249.   	{
        250.   	int i = a->top - 1;

crypto/bn/bn_lib.c:250:2: Binary operation: ([0, +oo] - 1):unsigned64 by call to `EC_POINT_mul` 
        248.   int BN_num_bits(const BIGNUM *a)
        249.   	{
        250.   	int i = a->top - 1;
                ^
        251.   	bn_check_top(a);
        252.   
