crypto/ec/ec2_mult.c:335: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `gf2m_Madd`.
Showing all 13 steps of the trace


crypto/ec/ec2_mult.c:264:1: Parameter `ctx->stack.depth`
262.    * avoiding conditional branches.
263.    */
264. > static int ec_GF2m_montgomery_point_multiply(const EC_GROUP *group,
265.                                                EC_POINT *r,
266.                                                const BIGNUM *scalar,

crypto/ec/ec2_mult.c:292:5: Call
290.        * Since point_multiply is static we can guarantee that ctx != NULL.
291.        */
292.       BN_CTX_start(ctx);
           ^
293.       x1 = BN_CTX_get(ctx);
294.       z1 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:253:1: Parameter `ctx->stack.depth`
  251.   }
  252.   
  253. > void BN_CTX_start(BN_CTX *ctx)
  254.   {
  255.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/ec/ec2_mult.c:335:18: Call
333.               BN_consttime_swap(word & mask, x1, x2, bn_get_top(group->field));
334.               BN_consttime_swap(word & mask, z1, z2, bn_get_top(group->field));
335.               if (!gf2m_Madd(group, point->X, x2, z2, x1, z1, ctx))
                        ^
336.                   goto err;
337.               if (!gf2m_Mdouble(group, x1, z1, ctx))

crypto/ec/ec2_mult.c:126:1: Parameter `ctx->stack.depth`
  124.    *     GF(2^m) without precomputation" (CHES '99, LNCS 1717).
  125.    */
  126. > static int gf2m_Madd(const EC_GROUP *group, const BIGNUM *x, BIGNUM *x1,
  127.                        BIGNUM *z1, const BIGNUM *x2, const BIGNUM *z2,
  128.                        BN_CTX *ctx)

crypto/ec/ec2_mult.c:134:5: Call
  132.   
  133.       /* Since Madd is static we can guarantee that ctx != NULL. */
  134.       BN_CTX_start(ctx);
             ^
  135.       t1 = BN_CTX_get(ctx);
  136.       t2 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:253:1: Parameter `ctx->stack.depth`
    251.   }
    252.   
    253. > void BN_CTX_start(BN_CTX *ctx)
    254.   {
    255.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/ec/ec2_mult.c:160:5: Call
  158.   
  159.    err:
  160.       BN_CTX_end(ctx);
             ^
  161.       return ret;
  162.   }

crypto/bn/bn_ctx.c:267:1: Parameter `ctx->stack.depth`
    265.   }
    266.   
    267. > void BN_CTX_end(BN_CTX *ctx)
    268.   {
    269.       CTXDBG_ENTRY("BN_CTX_end", ctx);

crypto/bn/bn_ctx.c:273:27: Call
    271.           ctx->err_stack--;
    272.       else {
    273.           unsigned int fp = BN_STACK_pop(&ctx->stack);
                                     ^
    274.           /* Does this stack frame have anything to release? */
    275.           if (fp < ctx->used)

crypto/bn/bn_ctx.c:351:1: <LHS trace>
349.   }
350.   
351. > static unsigned int BN_STACK_pop(BN_STACK *st)
352.   {
353.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:351:1: Parameter `st->depth`
      349.   }
      350.   
      351. > static unsigned int BN_STACK_pop(BN_STACK *st)
      352.   {
      353.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:353:12: Binary operation: ([0, +oo] - 1):unsigned32 by call to `gf2m_Madd` 
      351.   static unsigned int BN_STACK_pop(BN_STACK *st)
      352.   {
      353.       return st->indexes[--(st->depth)];
                        ^
      354.   }
      355.   
