CRYPTO_free_ex_data(rsa_meth,r,&r->ex_data);
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_RSA, r, &r->ex_data);
void RSA_free(RSA *r)	{	const RSA_METHOD *meth;	int i;	if (r == NULL) return;	i=CRYPTO_add(&r->references,-1,CRYPTO_LOCK_RSA);#ifdef REF_PRINT	REF_PRINT("RSA",r);#endif	if (i > 0) return;#ifdef REF_CHECK	if (i < 0)		{		fprintf(stderr,"RSA_free, bad reference count\n");		abort();		}#endif	meth = ENGINE_get_RSA(r->engine);	if (meth->finish != NULL)		meth->finish(r);	ENGINE_finish(r->engine);	CRYPTO_free_ex_data(rsa_meth,r,&r->ex_data);	if (r->n != NULL) BN_clear_free(r->n);	if (r->e != NULL) BN_clear_free(r->e);	if (r->d != NULL) BN_clear_free(r->d);	if (r->p != NULL) BN_clear_free(r->p);	if (r->q != NULL) BN_clear_free(r->q);	if (r->dmp1 != NULL) BN_clear_free(r->dmp1);	if (r->dmq1 != NULL) BN_clear_free(r->dmq1);	if (r->iqmp != NULL) BN_clear_free(r->iqmp);	if (r->blinding != NULL) BN_BLINDING_free(r->blinding);	if (r->bignum_data != NULL) OPENSSL_free_locked(r->bignum_data);	OPENSSL_free(r);	}