t= &(ctx->bn[ctx->tos++]);
BN_CTX_start(ctx); if ((t = BN_CTX_get(ctx)) == NULL) goto err;
int BN_mod_mul(BIGNUM *ret, BIGNUM *a, BIGNUM *b, const BIGNUM *m, BN_CTX *ctx)	{	BIGNUM *t;	int r=0;	bn_check_top(a);	bn_check_top(b);	bn_check_top(m);	t= &(ctx->bn[ctx->tos++]);	if (a == b)		{ if (!BN_sqr(t,a,ctx)) goto err; }	else		{ if (!BN_mul(t,a,b,ctx)) goto err; }	if (!BN_mod(ret,t,m,ctx)) goto err;	r=1;err:	ctx->tos--;	return(r);	}