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) {