crypto/bn/bn_recp.c:125: error: INTEGER_OVERFLOW_L2
  ([0, 5+max(0, `ctx->stack.depth`)] - 1):unsigned32 by call to `BN_div_recp`.
Showing all 21 steps of the trace


crypto/bn/bn_recp.c:103:1: Parameter `ctx->stack.depth`
101.   }
102.   
103. > int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y,
104.                             BN_RECP_CTX *recp, BN_CTX *ctx)
105.   {

crypto/bn/bn_recp.c:110:5: Call
108.       const BIGNUM *ca;
109.   
110.       BN_CTX_start(ctx);
           ^
111.       if ((a = BN_CTX_get(ctx)) == NULL)
112.           goto err;

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/bn/bn_recp.c:125:11: Call
123.           ca = x;                 /* Just do the mod */
124.   
125.       ret = BN_div_recp(NULL, r, ca, recp, ctx);
                 ^
126.    err:
127.       BN_CTX_end(ctx);

crypto/bn/bn_recp.c:132:1: Parameter `ctx->stack.depth`
  130.   }
  131.   
  132. > int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
  133.                   BN_RECP_CTX *recp, BN_CTX *ctx)
  134.   {

crypto/bn/bn_recp.c:138:5: Call
  136.       BIGNUM *a, *b, *d, *r;
  137.   
  138.       BN_CTX_start(ctx);
             ^
  139.       a = BN_CTX_get(ctx);
  140.       b = 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/bn/bn_recp.c:173:23: Call
  171.       /* Nr := round(2^i / N) */
  172.       if (i != recp->shift)
  173.           recp->shift = BN_reciprocal(&(recp->Nr), &(recp->N), i, ctx);
                               ^
  174.       /* BN_reciprocal could have returned -1 for an error */
  175.       if (recp->shift == -1)

crypto/bn/bn_recp.c:228:1: Parameter `ctx->stack.depth`
    226.    */
    227.   /* r := 2^len / m */
    228. > int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx)
    229.   {
    230.       int ret = -1;

crypto/bn/bn_recp.c:233:5: Call
    231.       BIGNUM *t;
    232.   
    233.       BN_CTX_start(ctx);
               ^
    234.       if ((t = BN_CTX_get(ctx)) == NULL)
    235.           goto err;

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/bn/bn_recp.c:240:10: Call
    238.           goto err;
    239.   
    240.       if (!BN_div(r, NULL, t, m, ctx))
                    ^
    241.           goto err;
    242.   

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: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/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: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, 5+max(0, ctx->stack.depth)] - 1):unsigned32 by call to `BN_div_recp` 
          351.   static unsigned int BN_STACK_pop(BN_STACK *st)
          352.   {
          353.       return st->indexes[--(st->depth)];
                            ^
          354.   }
          355.   
