crypto/ec/ec2_mult.c:347: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `gf2m_Mxy`.
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:347:9: Call
345.   
346.       /* convert out of "projective" coordinates */
347.       i = gf2m_Mxy(group, point->X, point->Y, x1, z1, x2, z2, ctx);
               ^
348.       if (i == 0)
349.           goto err;

crypto/ec/ec2_mult.c:174:1: Parameter `ctx->stack.depth`
  172.    *     2 otherwise
  173.    */
  174. > static int gf2m_Mxy(const EC_GROUP *group, const BIGNUM *x, const BIGNUM *y,
  175.                       BIGNUM *x1, BIGNUM *z1, BIGNUM *x2, BIGNUM *z2,
  176.                       BN_CTX *ctx)

crypto/ec/ec2_mult.c:196:5: Call
  194.   
  195.       /* Since Mxy is static we can guarantee that ctx != NULL. */
  196.       BN_CTX_start(ctx);
             ^
  197.       t3 = BN_CTX_get(ctx);
  198.       t4 = 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:250:5: Call
  248.   
  249.    err:
  250.       BN_CTX_end(ctx);
             ^
  251.       return ret;
  252.   }

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_Mxy` 
      351.   static unsigned int BN_STACK_pop(BN_STACK *st)
      352.   {
      353.       return st->indexes[--(st->depth)];
                        ^
      354.   }
      355.   
