crypto/bn/bn_kron.c:126: error: INTEGER_OVERFLOW_L2
  ([0, +oo] - 1):unsigned32 by call to `BN_nnmod`.
Showing all 27 steps of the trace


crypto/bn/bn_kron.c:17:1: Parameter `ctx->stack.depth`
15.   
16.   /* Returns -2 for errors because both -1 and 0 are valid results. */
17. > int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
18.   {
19.       int i;

crypto/bn/bn_kron.c:35:5: Call
33.       bn_check_top(b);
34.   
35.       BN_CTX_start(ctx);
          ^
36.       A = BN_CTX_get(ctx);
37.       B = 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_kron.c:36:9: Call
34.   
35.       BN_CTX_start(ctx);
36.       A = BN_CTX_get(ctx);
              ^
37.       B = BN_CTX_get(ctx);
38.       if (B == NULL)

crypto/bn/bn_ctx.c:202:1: Parameter `ctx->stack.depth`
  200.   }
  201.   
  202. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  203.   {
  204.       BIGNUM *ret;

crypto/bn/bn_kron.c:37:9: Call
35.       BN_CTX_start(ctx);
36.       A = BN_CTX_get(ctx);
37.       B = BN_CTX_get(ctx);
              ^
38.       if (B == NULL)
39.           goto end;

crypto/bn/bn_ctx.c:202:1: Parameter `ctx->stack.depth`
  200.   }
  201.   
  202. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
  203.   {
  204.       BIGNUM *ret;

crypto/bn/bn_kron.c:126:16: Call
124.   
125.           /* (A, B) := (B mod |A|, |A|) */
126.           err = !BN_nnmod(B, B, A, ctx);
                      ^
127.           if (err)
128.               goto end;

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:282:11: Call
      280.       BN_CTX_start(ctx);
      281.       res = (dv == NULL) ? BN_CTX_get(ctx) : dv;
      282.       tmp = BN_CTX_get(ctx);
                       ^
      283.       snum = BN_CTX_get(ctx);
      284.       sdiv = BN_CTX_get(ctx);

crypto/bn/bn_ctx.c:202:1: Parameter `ctx->stack.depth`
        200.   }
        201.   
        202. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
        203.   {
        204.       BIGNUM *ret;

crypto/bn/bn_div.c:283:12: Call
      281.       res = (dv == NULL) ? BN_CTX_get(ctx) : dv;
      282.       tmp = BN_CTX_get(ctx);
      283.       snum = BN_CTX_get(ctx);
                        ^
      284.       sdiv = BN_CTX_get(ctx);
      285.       if (sdiv == NULL)

crypto/bn/bn_ctx.c:202:1: Parameter `ctx->stack.depth`
        200.   }
        201.   
        202. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
        203.   {
        204.       BIGNUM *ret;

crypto/bn/bn_div.c:284:12: Call
      282.       tmp = BN_CTX_get(ctx);
      283.       snum = BN_CTX_get(ctx);
      284.       sdiv = BN_CTX_get(ctx);
                        ^
      285.       if (sdiv == NULL)
      286.           goto err;

crypto/bn/bn_ctx.c:202:1: Parameter `ctx->stack.depth`
        200.   }
        201.   
        202. > BIGNUM *BN_CTX_get(BN_CTX *ctx)
        203.   {
        204.       BIGNUM *ret;

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_nnmod` 
          266.   static unsigned int BN_STACK_pop(BN_STACK *st)
          267.   {
          268.       return st->indexes[--(st->depth)];
                            ^
          269.   }
          270.   
