]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
crypto/cmp: fix clash of OSSL_CMP_CERTREQID_NONE with error result of ossl_cmp_asn1_g...
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>
Thu, 27 Jul 2023 18:03:16 +0000 (20:03 +0200)
committerDr. David von Oheimb <dev@ddvo.net>
Thu, 21 Dec 2023 22:06:42 +0000 (23:06 +0100)
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/20727)

crypto/cmp/cmp_client.c
crypto/cmp/cmp_msg.c

index 23b3a8bd0513c525432f6419781176dfd1b9fd29..91876ee948e631d10d0681510ea10cf2070cdc9b 100644 (file)
@@ -683,7 +683,7 @@ static int cert_response(OSSL_CMP_CTX *ctx, int sleep, int rid,
         if (rid == OSSL_CMP_CERTREQID_NONE) {
             /* for OSSL_CMP_PKIBODY_P10CR learn CertReqId from response */
             rid = ossl_cmp_asn1_get_int(crep->certReqId);
-            if (rid != OSSL_CMP_CERTREQID_NONE) {
+            if (rid < OSSL_CMP_CERTREQID_NONE) {
                 ERR_raise(ERR_LIB_CMP, CMP_R_BAD_REQUEST_ID);
                 return 0;
             }
index 2b421ee83bc8b7e10ae4ff86e10f857286665330..a7e22d874ade5604983ab2b566cbc7e23cda2890 100644 (file)
@@ -984,7 +984,7 @@ static int suitable_rid(const ASN1_INTEGER *certReqId, int rid)
         return 1;
 
     trid = ossl_cmp_asn1_get_int(certReqId);
-    if (trid < OSSL_CMP_CERTREQID_NONE) {
+    if (trid <= OSSL_CMP_CERTREQID_INVALID) {
         ERR_raise(ERR_LIB_CMP, CMP_R_BAD_REQUEST_ID);
         return 0;
     }