test/bntest.c:2273: error: BUFFER_OVERRUN_L3
  Offset: [-1, +oo] Size: [1, +oo] by call to `test_ctx_set_ct_flag`.
Showing all 17 steps of the trace


test/bntest.c:2273:14: Call
2271.       for (i = 0; i < 2; i++) {
2272.           BN_CTX *c = i == 0 ? nctx : sctx;
2273.           if (!TEST_true(test_ctx_set_ct_flag(c))
                     ^
2274.                   || !TEST_true(test_ctx_check_ct_flag(c)))
2275.               goto err;

test/bntest.c:2199:1: Parameter `c->stack.depth`
  2197.   }
  2198.   
  2199. > static int test_ctx_set_ct_flag(BN_CTX *c)
  2200.   {
  2201.       int st = 0;

test/bntest.c:2205:5: Call
  2203.       BIGNUM *b[15];
  2204.   
  2205.       BN_CTX_start(c);
              ^
  2206.       for (i = 0; i < OSSL_NELEM(b); i++) {
  2207.           if (!TEST_ptr(b[i] = BN_CTX_get(c)))

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);

test/bntest.c:2215:5: Call
  2213.       st = 1;
  2214.    err:
  2215.       BN_CTX_end(c);
              ^
  2216.       return st;
  2217.   }

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);

test/bntest.c:2273:14: Call
2271.       for (i = 0; i < 2; i++) {
2272.           BN_CTX *c = i == 0 ? nctx : sctx;
2273.           if (!TEST_true(test_ctx_set_ct_flag(c))
                     ^
2274.                   || !TEST_true(test_ctx_check_ct_flag(c)))
2275.               goto err;

test/bntest.c:2205:5: Call
  2203.       BIGNUM *b[15];
  2204.   
  2205.       BN_CTX_start(c);
              ^
  2206.       for (i = 0; i < OSSL_NELEM(b); i++) {
  2207.           if (!TEST_ptr(b[i] = BN_CTX_get(c)))

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

test/bntest.c:2215:5: Call
  2213.       st = 1;
  2214.    err:
  2215.       BN_CTX_end(c);
              ^
  2216.       return st;
  2217.   }

crypto/bn/bn_ctx.c:185:1: Parameter `*ctx->stack.indexes`
    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: <Offset 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:266:1: <Length 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->indexes`
      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: Array access: Offset: [-1, +oo] Size: [1, +oo] by call to `test_ctx_set_ct_flag` 
      266.   static unsigned int BN_STACK_pop(BN_STACK *st)
      267.   {
      268.       return st->indexes[--(st->depth)];
                        ^
      269.   }
      270.   
