void BN_CTX_free(BN_CTX *ctx)
	{
#ifdef BN_CTX_DEBUG
	BN_POOL_ITEM *pool = ctx->pool.head;
	printf("BN_CTX_free, stack-size=%d, pool-bignums=%d\n",
		ctx->stack.size, ctx->pool.size);
	printf("dmaxs: ");
	while(pool) {
		unsigned loop = 0;
		while(loop < BN_CTX_POOL_SIZE)
			printf("%02x ", pool->vals[loop++].dmax);
		pool = pool->next;
	}
	printf("\n");
#endif
	BN_STACK_finish(&ctx->stack);
	BN_POOL_finish(&ctx->pool);
	OPENSSL_free(ctx);
	}