crypto/ec/ecp_smpl.c:595: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_mod_inverse`.
Showing all 23 steps of the trace


crypto/ec/ecp_smpl.c:534:1: Parameter `ctx->stack.depth`
532.   }
533.   
534. > int ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP *group,
535.                                                  const EC_POINT *point,
536.                                                  BIGNUM *x, BIGNUM *y,

crypto/ec/ecp_smpl.c:556:5: Call
554.       }
555.   
556.       BN_CTX_start(ctx);
           ^
557.       Z = BN_CTX_get(ctx);
558.       Z_1 = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:236:1: Parameter `ctx->stack.depth`
  234.   }
  235.   
  236. > void BN_CTX_start(BN_CTX *ctx)
  237.   {
  238.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/ec/ecp_smpl.c:595:14: Call
593.           }
594.       } else {
595.           if (!BN_mod_inverse(Z_1, Z_, group->field, ctx)) {
                    ^
596.               ECerr(EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES,
597.                     ERR_R_BN_LIB);

crypto/bn/bn_gcd.c:226:1: Parameter `ctx->stack.depth`
  224.                                           BN_CTX *ctx);
  225.   
  226. > BIGNUM *BN_mod_inverse(BIGNUM *in,
  227.                          const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx)
  228.   {

crypto/bn/bn_gcd.c:231:10: Call
  229.       BIGNUM *rv;
  230.       int noinv;
  231.       rv = int_bn_mod_inverse(in, a, n, ctx, &noinv);
                  ^
  232.       if (noinv)
  233.           BNerr(BN_F_BN_MOD_INVERSE, BN_R_NO_INVERSE);

crypto/bn/bn_gcd.c:237:1: Parameter `ctx->stack.depth`
    235.   }
    236.   
    237. > BIGNUM *int_bn_mod_inverse(BIGNUM *in,
    238.                              const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx,
    239.                              int *pnoinv)

crypto/bn/bn_gcd.c:250:16: Call
    248.       if ((BN_get_flags(a, BN_FLG_CONSTTIME) != 0)
    249.           || (BN_get_flags(n, BN_FLG_CONSTTIME) != 0)) {
    250.           return BN_mod_inverse_no_branch(in, a, n, ctx);
                          ^
    251.       }
    252.   

crypto/bn/bn_gcd.c:557:1: Parameter `ctx->stack.depth`
      555.    * not contain branches that may leak sensitive information.
      556.    */
      557. > static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in,
      558.                                           const BIGNUM *a, const BIGNUM *n,
      559.                                           BN_CTX *ctx)

crypto/bn/bn_gcd.c:570:5: Call
      568.       bn_check_top(n);
      569.   
      570.       BN_CTX_start(ctx);
                 ^
      571.       A = BN_CTX_get(ctx);
      572.       B = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:236:1: Parameter `ctx->stack.depth`
        234.   }
        235.   
        236. > void BN_CTX_start(BN_CTX *ctx)
        237.   {
        238.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_gcd.c:604:14: Call
      602.           local_B.flags = 0;
      603.           BN_with_flags(pB, B, BN_FLG_CONSTTIME);
      604.           if (!BN_nnmod(B, pB, A, ctx))
                          ^
      605.               goto err;
      606.       }

crypto/bn/bn_mod.c:119:1: Parameter `ctx->stack.depth`
        117.   #include "bn_lcl.h"
        118.   
        119. > int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
        120.   {
        121.       /*

crypto/bn/bn_mod.c:126:11: Call
        124.        */
        125.   
        126.       if (!(BN_mod(r, m, d, ctx)))
                         ^
        127.           return 0;
        128.       if (!r->neg)

crypto/bn/bn_div.c:189:1: Parameter `ctx->stack.depth`
          187.    * If 'dv' or 'rm' is NULL, the respective value is not returned.
          188.    */
          189. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
          190.              BN_CTX *ctx)
          191.   {

crypto/bn/bn_div.c:242:5: Call
          240.       }
          241.   
          242.       BN_CTX_start(ctx);
                     ^
          243.       tmp = BN_CTX_get(ctx);
          244.       snum = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:236:1: Parameter `ctx->stack.depth`
            234.   }
            235.   
            236. > void BN_CTX_start(BN_CTX *ctx)
            237.   {
            238.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_div.c:469:5: Call
          467.       if (no_branch)
          468.           bn_correct_top(res);
          469.       BN_CTX_end(ctx);
                     ^
          470.       return (1);
          471.    err:

crypto/bn/bn_ctx.c:250:1: Parameter `ctx->stack.depth`
            248.   }
            249.   
            250. > void BN_CTX_end(BN_CTX *ctx)
            251.   {
            252.       CTXDBG_ENTRY("BN_CTX_end", ctx);

crypto/bn/bn_ctx.c:256:27: Call
            254.           ctx->err_stack--;
            255.       else {
            256.           unsigned int fp = BN_STACK_pop(&ctx->stack);
                                             ^
            257.           /* Does this stack frame have anything to release? */
            258.           if (fp < ctx->used)

crypto/bn/bn_ctx.c:326:1: <LHS trace>
324.   }
325.   
326. > static unsigned int BN_STACK_pop(BN_STACK *st)
327.   {
328.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:326:1: Parameter `st->depth`
              324.   }
              325.   
              326. > static unsigned int BN_STACK_pop(BN_STACK *st)
              327.   {
              328.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:328:12: Binary operation: ([0, +oo] - 1):unsigned32 by call to `BN_mod_inverse` 
              326.   static unsigned int BN_STACK_pop(BN_STACK *st)
              327.   {
              328.       return st->indexes[--(st->depth)];
                                ^
              329.   }
              330.   
