diff options
| -rw-r--r-- | apps/lib/cmp_mock_srv.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/lib/cmp_mock_srv.c b/apps/lib/cmp_mock_srv.c index c538c04d287..e8a289f3134 100644 --- a/apps/lib/cmp_mock_srv.c +++ b/apps/lib/cmp_mock_srv.c @@ -274,8 +274,11 @@ static int refcert_cmp(const X509 *refcert, return 1; ref_issuer = X509_get_issuer_name(refcert); ref_serial = X509_get0_serialNumber(refcert); - return (ref_issuer == NULL || X509_NAME_cmp(issuer, ref_issuer) == 0) - && (ref_serial == NULL || ASN1_INTEGER_cmp(serial, ref_serial) == 0); + if (ref_issuer != NULL + && (issuer == NULL || X509_NAME_cmp(issuer, ref_issuer) != 0)) + return 0; + return ref_serial == NULL + || (serial != NULL && ASN1_INTEGER_cmp(serial, ref_serial) == 0); } /* reset the state that belongs to a transaction */ |
