示例#1
0
文件: ctx.c 项目: DemiMarie/ring
void BN_CTX_end(BN_CTX *ctx) {
  if (ctx->err_stack) {
    ctx->err_stack--;
  } else {
    unsigned int fp = BN_STACK_pop(&ctx->stack);
    /* Does this stack frame have anything to release? */
    if (fp < ctx->used) {
      BN_POOL_release(&ctx->pool, ctx->used - fp);
    }

    ctx->used = fp;
    /* Unjam "too_many" in case "get" had failed */
    ctx->too_many = 0;
  }
}
示例#2
0
void BN_CTX_end(BN_CTX *ctx)
{
    CTXDBG_ENTRY("BN_CTX_end", ctx);
    if (ctx->err_stack)
        ctx->err_stack--;
    else {
        unsigned int fp = BN_STACK_pop(&ctx->stack);
        /* Does this stack frame have anything to release? */
        if (fp < ctx->used)
            BN_POOL_release(&ctx->pool, ctx->used - fp);
        ctx->used = fp;
        /* Unjam "too_many" in case "get" had failed */
        ctx->too_many = 0;
    }
    CTXDBG_EXIT(ctx);
}