Ops, the logic of the second argument has to be coupled with the != test to
work correctly for the SSL_CTX_xxx situations, too. Now "make test" passes
again fine.
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c
index e5e1b99..9f06b69 100644
--- a/ssl/ssl_cert.c
+++ b/ssl/ssl_cert.c
@@ -152,7 +152,7 @@
 		SSLerr(SSL_F_SSL_CERT_INSTANTIATE, ERR_R_PASSED_NULL_PARAMETER);
 		return(0);
 		}
-	if (*o != NULL && d != NULL && *o != d)
+	if (*o != NULL && (d == NULL || *o != d))
 	    return(1);
 	if ((n = ssl_cert_new()) == NULL) 
 		{