crypto/bn/bn_recp.c:76: 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:54:1: Parameter `ctx->stack.depth`
52.   }
53.   
54. > int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y,
55.                             BN_RECP_CTX *recp, BN_CTX *ctx)
56.   {

crypto/bn/bn_recp.c:61:5: Call
59.       const BIGNUM *ca;
60.   
61.       BN_CTX_start(ctx);
          ^
62.       if ((a = BN_CTX_get(ctx)) == NULL)
63.           goto err;

crypto/bn/bn_ctx.c:181:1: Parameter `ctx->stack.depth`
  179.   }
  180.   
  181. > void BN_CTX_start(BN_CTX *ctx)
  182.   {
  183.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_recp.c:76:11: Call
74.           ca = x;                 /* Just do the mod */
75.   
76.       ret = BN_div_recp(NULL, r, ca, recp, ctx);
                ^
77.    err:
78.       BN_CTX_end(ctx);

crypto/bn/bn_recp.c:83:1: Parameter `ctx->stack.depth`
  81.   }
  82.   
  83. > int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
  84.                   BN_RECP_CTX *recp, BN_CTX *ctx)
  85.   {

crypto/bn/bn_recp.c:89:5: Call
  87.       BIGNUM *a, *b, *d, *r;
  88.   
  89.       BN_CTX_start(ctx);
            ^
  90.       d = (dv != NULL) ? dv : BN_CTX_get(ctx);
  91.       r = (rem != NULL) ? rem : BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:181:1: Parameter `ctx->stack.depth`
    179.   }
    180.   
    181. > void BN_CTX_start(BN_CTX *ctx)
    182.   {
    183.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_recp.c:120:23: Call
  118.       /* Nr := round(2^i / N) */
  119.       if (i != recp->shift)
  120.           recp->shift = BN_reciprocal(&(recp->Nr), &(recp->N), i, ctx);
                               ^
  121.       /* BN_reciprocal could have returned -1 for an error */
  122.       if (recp->shift == -1)

crypto/bn/bn_recp.c:173:1: Parameter `ctx->stack.depth`
    171.    */
    172.   /* r := 2^len / m */
    173. > int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx)
    174.   {
    175.       int ret = -1;

crypto/bn/bn_recp.c:178:5: Call
    176.       BIGNUM *t;
    177.   
    178.       BN_CTX_start(ctx);
               ^
    179.       if ((t = BN_CTX_get(ctx)) == NULL)
    180.           goto err;

crypto/bn/bn_ctx.c:181:1: Parameter `ctx->stack.depth`
      179.   }
      180.   
      181. > void BN_CTX_start(BN_CTX *ctx)
      182.   {
      183.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_recp.c:185:10: Call
    183.           goto err;
    184.   
    185.       if (!BN_div(r, NULL, t, m, ctx))
                    ^
    186.           goto err;
    187.   

crypto/bn/bn_div.c:140:1: Parameter `ctx->stack.depth`
      138.    * If 'dv' or 'rm' is NULL, the respective value is not returned.
      139.    */
      140. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
      141.              BN_CTX *ctx)
      142.   {

crypto/bn/bn_div.c:193:5: Call
      191.       }
      192.   
      193.       BN_CTX_start(ctx);
                 ^
      194.       res = (dv == NULL) ? BN_CTX_get(ctx) : dv;
      195.       tmp = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:181:1: Parameter `ctx->stack.depth`
        179.   }
        180.   
        181. > void BN_CTX_start(BN_CTX *ctx)
        182.   {
        183.       CTXDBG_ENTRY("BN_CTX_start", ctx);

crypto/bn/bn_div.c:413:5: Call
      411.       if (no_branch)
      412.           bn_correct_top(res);
      413.       BN_CTX_end(ctx);
                 ^
      414.       return 1;
      415.    err:

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

crypto/bn/bn_ctx.c:201:27: Call
        199.           ctx->err_stack--;
        200.       else {
        201.           unsigned int fp = BN_STACK_pop(&ctx->stack);
                                         ^
        202.           /* Does this stack frame have anything to release? */
        203.           if (fp < ctx->used)

crypto/bn/bn_ctx.c:271:1: <LHS trace>
269.   }
270.   
271. > static unsigned int BN_STACK_pop(BN_STACK *st)
272.   {
273.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:271:1: Parameter `st->depth`
          269.   }
          270.   
          271. > static unsigned int BN_STACK_pop(BN_STACK *st)
          272.   {
          273.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:273:12: Binary operation: ([0, 5+max(0, ctx->stack.depth)] - 1):unsigned32 by call to `BN_div_recp` 
          271.   static unsigned int BN_STACK_pop(BN_STACK *st)
          272.   {
          273.       return st->indexes[--(st->depth)];
                            ^
          274.   }
          275.   
