CRYPTO_free_ex_data(bio_meth,a,&a->ex_data);
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data);
int BIO_free(BIO *a)	{	int ret=0,i;	if (a == NULL) return(0);	i=CRYPTO_add(&a->references,-1,CRYPTO_LOCK_BIO);#ifdef REF_PRINT	REF_PRINT("BIO",a);#endif	if (i > 0) return(1);#ifdef REF_CHECK	if (i < 0)		{		fprintf(stderr,"BIO_free, bad reference count\n");		abort();		}#endif	if ((a->callback != NULL) &&		((i=(int)a->callback(a,BIO_CB_FREE,NULL,0,0L,1L)) <= 0))			return(i);	CRYPTO_free_ex_data(bio_meth,a,&a->ex_data);	if ((a->method == NULL) || (a->method->destroy == NULL)) return(1);	ret=a->method->destroy(a);	OPENSSL_free(a);	return(1);	}