]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
fix: reject adding a duplicity into STACK_OF(X509_ATTRIBUTE)
authorAdam Šulc <sulcadam12@gmail.com>
Thu, 20 Jul 2023 19:30:45 +0000 (21:30 +0200)
committerPauli <pauli@openssl.org>
Mon, 24 Jul 2023 02:44:46 +0000 (12:44 +1000)
Function `X509at_add1_attr()` (crypto/x509/x509_att.c) rejects to add a duplicity into `*x` but it searches in a wrong stack.

Changed to search in `*x`.

CLA: trivial

Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21505)

crypto/x509/x509_att.c

index 1fc99f7cad1710296dc88c9e037f2a6494167d6a..325a0dc1dd53874fbca5df957dd51013a05cf88d 100644 (file)
@@ -89,7 +89,7 @@ STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x,
         ERR_raise(ERR_LIB_X509, ERR_R_PASSED_NULL_PARAMETER);
         return NULL;
     }
-    if (X509at_get_attr_by_OBJ(sk, attr->object, -1) != -1) {
+    if (*x != NULL && X509at_get_attr_by_OBJ(*x, attr->object, -1) != -1) {
         ERR_raise(ERR_LIB_X509, X509_R_DUPLICATE_ATTRIBUTE);
         return NULL;
     }