crypto/ec/ecdh_ossl.c:81: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `EC_POINT_mul`.
Showing all 24 steps of the trace


crypto/ec/ecdh_ossl.c:52:5: Call
50.       if ((ctx = BN_CTX_new_ex(ecdh->libctx)) == NULL)
51.           goto err;
52.       BN_CTX_start(ctx);
          ^
53.       x = BN_CTX_get(ctx);
54.       if (x == NULL) {

crypto/bn/bn_ctx.c:194:1: Parameter `ctx->stack.depth`
  192.   }
  193.   
  194. > void BN_CTX_start(BN_CTX *ctx)
  195.   {
  196.       CTXDBG("ENTER BN_CTX_start()", ctx);

crypto/ec/ecdh_ossl.c:81:10: Call
79.       }
80.   
81.       if (!EC_POINT_mul(group, tmp, NULL, pub_key, priv_key, ctx)) {
               ^
82.           ECerr(EC_F_ECDH_SIMPLE_COMPUTE_KEY, EC_R_POINT_ARITHMETIC_FAILURE);
83.           goto err;

crypto/ec/ec_lib.c:1078:1: Parameter `ctx->stack.depth`
  1076.   }
  1077.   
  1078. > int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar,
  1079.                    const EC_POINT *point, const BIGNUM *p_scalar, BN_CTX *ctx)
  1080.   {

crypto/ec/ec_lib.c:1089:12: Call
  1087.       scalars[0] = p_scalar;
  1088.   
  1089.       return EC_POINTs_mul(group, r, g_scalar,
                     ^
  1090.                            (point != NULL
  1091.                             && p_scalar != NULL), points, scalars, ctx);

crypto/ec/ec_lib.c:1034:1: Parameter `ctx->stack.depth`
    1032.    */
    1033.   
    1034. > int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
    1035.                     size_t num, const EC_POINT *points[],
    1036.                     const BIGNUM *scalars[], BN_CTX *ctx)

crypto/ec/ec_lib.c:1070:15: Call
    1068.       else
    1069.           /* use default */
    1070.           ret = ec_wNAF_mul(group, r, scalar, num, points, scalars, ctx);
                          ^
    1071.   
    1072.   #ifndef FIPS_MODE

crypto/ec/ec_mult.c:410:1: Parameter `ctx->stack.depth`
      408.    * in the addition if scalar != NULL
      409.    */
      410. > int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
      411.                   size_t num, const EC_POINT *points[], const BIGNUM *scalars[],
      412.                   BN_CTX *ctx)

crypto/ec/ec_mult.c:463:20: Call
      461.                * actually set and we always call the ladder version.
      462.                */
      463.               return ec_scalar_mul_ladder(group, r, scalars[0], points[0], ctx);
                                ^
      464.           }
      465.       }

crypto/ec/ec_mult.c:139:1: Parameter `ctx->stack.depth`
        137.    * Returns 1 on success, 0 otherwise.
        138.    */
        139. > int ec_scalar_mul_ladder(const EC_GROUP *group, EC_POINT *r,
        140.                            const BIGNUM *scalar, const EC_POINT *point,
        141.                            BN_CTX *ctx)

crypto/ec/ec_mult.c:164:5: Call
        162.       }
        163.   
        164.       BN_CTX_start(ctx);
                   ^
        165.   
        166.       if (((p = EC_POINT_new(group)) == NULL)

crypto/bn/bn_ctx.c:194:1: Parameter `ctx->stack.depth`
          192.   }
          193.   
          194. > void BN_CTX_start(BN_CTX *ctx)
          195.   {
          196.       CTXDBG("ENTER BN_CTX_start()", ctx);

crypto/ec/ec_mult.c:196:10: Call
        194.       }
        195.   
        196.       if (!BN_mul(cardinality, group->order, group->cofactor, ctx)) {
                        ^
        197.           ECerr(EC_F_EC_SCALAR_MUL_LADDER, ERR_R_BN_LIB);
        198.           goto err;

crypto/bn/bn_mul.c:497:1: Parameter `ctx->stack.depth`
          495.   #endif                          /* BN_RECURSION */
          496.   
          497. > int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
          498.   {
          499.       int ret = bn_mul_fixed_top(r, a, b, ctx);

crypto/bn/bn_mul.c:499:15: Call
          497.   int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
          498.   {
          499.       int ret = bn_mul_fixed_top(r, a, b, ctx);
                               ^
          500.   
          501.       bn_correct_top(r);

crypto/bn/bn_mul.c:507:1: Parameter `ctx->stack.depth`
            505.   }
            506.   
            507. > int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
            508.   {
            509.       int ret = 0;

crypto/bn/bn_mul.c:533:5: Call
            531.       top = al + bl;
            532.   
            533.       BN_CTX_start(ctx);
                       ^
            534.       if ((r == a) || (r == b)) {
            535.           if ((rr = BN_CTX_get(ctx)) == NULL)

crypto/bn/bn_ctx.c:194:1: Parameter `ctx->stack.depth`
              192.   }
              193.   
              194. > void BN_CTX_start(BN_CTX *ctx)
              195.   {
              196.       CTXDBG("ENTER BN_CTX_start()", ctx);

crypto/bn/bn_mul.c:618:5: Call
            616.    err:
            617.       bn_check_top(r);
            618.       BN_CTX_end(ctx);
                       ^
            619.       return ret;
            620.   }

crypto/bn/bn_ctx.c:208:1: Parameter `ctx->stack.depth`
              206.   }
              207.   
              208. > void BN_CTX_end(BN_CTX *ctx)
              209.   {
              210.       if (ctx == NULL)

crypto/bn/bn_ctx.c:216:27: Call
              214.           ctx->err_stack--;
              215.       else {
              216.           unsigned int fp = BN_STACK_pop(&ctx->stack);
                                               ^
              217.           /* Does this stack frame have anything to release? */
              218.           if (fp < ctx->used)

crypto/bn/bn_ctx.c:298:1: <LHS trace>
296.   }
297.   
298. > static unsigned int BN_STACK_pop(BN_STACK *st)
299.   {
300.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:298:1: Parameter `st->depth`
                296.   }
                297.   
                298. > static unsigned int BN_STACK_pop(BN_STACK *st)
                299.   {
                300.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:300:12: Binary operation: ([0, +oo] - 1):unsigned32 by call to `EC_POINT_mul` 
                298.   static unsigned int BN_STACK_pop(BN_STACK *st)
                299.   {
                300.       return st->indexes[--(st->depth)];
                                  ^
                301.   }
                302.   
