X509_REQ_get_extensions(): Return empty stack if no extensions found
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>
Fri, 8 Jan 2021 07:27:17 +0000 (08:27 +0100)
committerDr. David von Oheimb <dev@ddvo.net>
Wed, 3 Aug 2022 15:27:50 +0000 (17:27 +0200)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/18926)

crypto/x509/x509_req.c

index dd674926ddb5faef0ab7a669e81d5ed2aadc9686..a69f9a723d7ed3427b75b6dc4d302841da5b5946 100644 (file)
@@ -167,7 +167,9 @@ STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req)
         ext = X509_ATTRIBUTE_get0_type(attr, 0);
         break;
     }
-    if (!ext || (ext->type != V_ASN1_SEQUENCE))
+    if (ext == NULL) /* no extensions is not an error */
+        return sk_X509_EXTENSION_new_null();
+    if (ext->type != V_ASN1_SEQUENCE)
         return NULL;
     p = ext->value.sequence->data;
     return (STACK_OF(X509_EXTENSION) *)