test/bntest.c:1502: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_mod_exp`.
Showing all 20 steps of the trace


test/bntest.c:1502:10: Call
1500.           goto err;
1501.   
1502.       if (!TEST_true(BN_mod_exp(ret, a, e, m, ctx))
                 ^
1503.               || !equalBN("A ^ E (mod M)", mod_exp, ret))
1504.           goto err;

crypto/bn/bn_exp.c:89:1: Parameter `ctx->stack.depth`
  87.   }
  88.   
  89. > int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
  90.                  BN_CTX *ctx)
  91.   {

crypto/bn/bn_exp.c:149:15: Call
  147.   #ifdef RECP_MUL_MOD
  148.       {
  149.           ret = BN_mod_exp_recp(r, a, p, m, ctx);
                       ^
  150.       }
  151.   #else

crypto/bn/bn_exp.c:161:1: Parameter `ctx->stack.depth`
    159.   }
    160.   
    161. > int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
    162.                       const BIGNUM *m, BN_CTX *ctx)
    163.   {

crypto/bn/bn_exp.c:191:5: Call
    189.       }
    190.   
    191.       BN_CTX_start(ctx);
               ^
    192.       aa = BN_CTX_get(ctx);
    193.       val[0] = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:171:1: Parameter `ctx->stack.depth`
      169.   }
      170.   
      171. > void BN_CTX_start(BN_CTX *ctx)
      172.   {
      173.       CTXDBG("ENTER BN_CTX_start()", ctx);

crypto/bn/bn_exp.c:210:10: Call
    208.       }
    209.   
    210.       if (!BN_nnmod(val[0], a, m, ctx))
                    ^
    211.           goto err;               /* 1 */
    212.       if (BN_is_zero(val[0])) {

crypto/bn/bn_mod.c:13:1: Parameter `ctx->stack.depth`
      11.   #include "bn_lcl.h"
      12.   
      13. > int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
      14.   {
      15.       /*

crypto/bn/bn_mod.c:20:11: Call
      18.        */
      19.   
      20.       if (!(BN_mod(r, m, d, ctx)))
                      ^
      21.           return 0;
      22.       if (!r->neg)

crypto/bn/bn_div.c:209:1: Parameter `ctx->stack.depth`
        207.    * If 'dv' or 'rm' is NULL, the respective value is not returned.
        208.    */
        209. > int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
        210.              BN_CTX *ctx)
        211.   {

crypto/bn/bn_div.c:229:11: Call
        227.       }
        228.   
        229.       ret = bn_div_fixed_top(dv, rm, num, divisor, ctx);
                         ^
        230.   
        231.       if (ret) {

crypto/bn/bn_div.c:264:1: Parameter `ctx->stack.depth`
          262.    *       divisor's length is considered public;
          263.    */
          264. > int bn_div_fixed_top(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
          265.                        const BIGNUM *divisor, BN_CTX *ctx)
          266.   {

crypto/bn/bn_div.c:280:5: Call
          278.       bn_check_top(rm);
          279.   
          280.       BN_CTX_start(ctx);
                     ^
          281.       res = (dv == NULL) ? BN_CTX_get(ctx) : dv;
          282.       tmp = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:171:1: Parameter `ctx->stack.depth`
            169.   }
            170.   
            171. > void BN_CTX_start(BN_CTX *ctx)
            172.   {
            173.       CTXDBG("ENTER BN_CTX_start()", ctx);

crypto/bn/bn_div.c:450:5: Call
          448.       if (rm != NULL)
          449.           bn_rshift_fixed_top(rm, snum, norm_shift);
          450.       BN_CTX_end(ctx);
                     ^
          451.       return 1;
          452.    err:

crypto/bn/bn_ctx.c:185:1: Parameter `ctx->stack.depth`
            183.   }
            184.   
            185. > void BN_CTX_end(BN_CTX *ctx)
            186.   {
            187.       CTXDBG("ENTER BN_CTX_end()", ctx);

crypto/bn/bn_ctx.c:191:27: Call
            189.           ctx->err_stack--;
            190.       else {
            191.           unsigned int fp = BN_STACK_pop(&ctx->stack);
                                             ^
            192.           /* Does this stack frame have anything to release? */
            193.           if (fp < ctx->used)

crypto/bn/bn_ctx.c:266:1: <LHS trace>
264.   }
265.   
266. > static unsigned int BN_STACK_pop(BN_STACK *st)
267.   {
268.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:266:1: Parameter `st->depth`
              264.   }
              265.   
              266. > static unsigned int BN_STACK_pop(BN_STACK *st)
              267.   {
              268.       return st->indexes[--(st->depth)];

crypto/bn/bn_ctx.c:268:12: Binary operation: ([0, +oo] - 1):unsigned32 by call to `BN_mod_exp` 
              266.   static unsigned int BN_STACK_pop(BN_STACK *st)
              267.   {
              268.       return st->indexes[--(st->depth)];
                                ^
              269.   }
              270.   
