if (ret == NULL || in == NULL)
if (in == NULL)
int SSL_add_cert_file_to_stack(STACK *stack,const char *file)    {    BIO *in;    X509 *x=NULL;    X509_NAME *xn=NULL;    int ret=1;    int (*oldcmp)();    oldcmp=sk_set_cmp_func(stack,name_cmp);    in=BIO_new(BIO_s_file_internal());    if (ret == NULL || in == NULL)	{	SSLerr(SSL_F_SSL_ADD_CERT_FILE_TO_STACK,ERR_R_MALLOC_FAILURE);	goto err;	}	    if (!BIO_read_filename(in,file))	goto err;    for (;;)	{	if (PEM_read_bio_X509(in,&x,NULL) == NULL)	    break;	if ((xn=X509_get_subject_name(x)) == NULL) goto err;	xn=X509_NAME_dup(xn);	if (xn == NULL) goto err;	if (sk_find(stack,(char *)xn) >= 0)	    X509_NAME_free(xn);	else	    sk_push(stack,(char *)xn);	}    if (0)	{err:	ret=0;	}    if(in != NULL)	BIO_free(in);    if(x != NULL)	X509_free(x);    sk_set_cmp_func(stack,oldcmp);    return ret;    }