if (a->comp_methods != NULL) sk_pop_free(a->comp_methods,free);
void SSL_CTX_free(a)SSL_CTX *a;	{	int i;	if (a == NULL) return;	i=CRYPTO_add(&a->references,-1,CRYPTO_LOCK_SSL_CTX);#ifdef REF_PRINT	REF_PRINT("SSL_CTX",a);#endif	if (i > 0) return;#ifdef REF_CHECK	if (i < 0)		{		fprintf(stderr,"SSL_CTX_free, bad reference count\n");		abort(); /* ok */		}#endif	CRYPTO_free_ex_data(ssl_ctx_meth,(char *)a,&a->ex_data);	if (a->sessions != NULL)		{		SSL_CTX_flush_sessions(a,0);		lh_free(a->sessions);		}	if (a->cert_store != NULL)		X509_STORE_free(a->cert_store);	if (a->cipher_list != NULL)		sk_free(a->cipher_list);	if (a->cipher_list_by_id != NULL)		sk_free(a->cipher_list_by_id);	if (a->default_cert != NULL)		ssl_cert_free(a->default_cert);	if (a->client_CA != NULL)		sk_pop_free(a->client_CA,X509_NAME_free);	if (a->extra_certs != NULL)		sk_pop_free(a->extra_certs,X509_free);	Free((char *)a);	}