crypto/ecdsa/ecdsatest.c:374: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned64 by call to `EC_KEY_check_key`.
Showing all 16 steps of the trace


crypto/ecdsa/ecdsatest.c:365:8: Call
363.   			goto builtin_err;
364.   		EC_GROUP_free(group);
365.   		if (!EC_KEY_generate_key(wrong_eckey))
              ^
366.   			{
367.   			BIO_printf(out, " failed\n");

crypto/ec/ec_key.c:233:1: Parameter `eckey->priv_key->top`
  231.   	}
  232.   
  233. > int EC_KEY_generate_key(EC_KEY *eckey)
  234.   	{	
  235.   	int	ok = 0;

crypto/ecdsa/ecdsatest.c:374:8: Call
372.   		(void)BIO_flush(out);
373.   		/* check key */
374.   		if (!EC_KEY_check_key(eckey))
              ^
375.   			{
376.   			BIO_printf(out, " failed\n");

crypto/ec/ec_key.c:295:1: Parameter `eckey->priv_key->top`
  293.   	}
  294.   
  295. > int EC_KEY_check_key(const EC_KEY *eckey)
  296.   	{
  297.   	int	ok   = 0;

crypto/ec/ec_key.c:341:7: Call
  339.   	if (eckey->priv_key)
  340.   		{
  341.   		if (BN_cmp(eckey->priv_key, order) >= 0)
               ^
  342.   			{
  343.   			ECerr(EC_F_EC_KEY_CHECK_KEY, EC_R_WRONG_ORDER);

crypto/bn/bn_lib.c:678:1: Parameter `a->top`
    676.   	}
    677.   
    678. > int BN_cmp(const BIGNUM *a, const BIGNUM *b)
    679.   	{
    680.   	int i;

crypto/ec/ec_key.c:346:8: Call
  344.   			goto err;
  345.   			}
  346.   		if (!EC_POINT_mul(eckey->group, point, eckey->priv_key,
                ^
  347.   			NULL, NULL, ctx))
  348.   			{

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_KEY_check_key` 
          248.   int BN_num_bits(const BIGNUM *a)
          249.   	{
          250.   	int i = a->top - 1;
                  ^
          251.   	bn_check_top(a);
          252.   
