From: Pauli Date: Mon, 15 Jun 2020 00:07:50 +0000 (+1000) Subject: property: correctly set the has optional flag when merging property lists X-Git-Tag: openssl-3.0.0-alpha4~36 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=e3d6dc59fb3689f92d890a20fb5e1e5588dc95b8;ds=sidebyside property: correctly set the has optional flag when merging property lists Reviewed-by: Tomas Mraz Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/12123) --- diff --git a/crypto/property/property_parse.c b/crypto/property/property_parse.c index 21f78c02e2..41a5a059c5 100644 --- a/crypto/property/property_parse.c +++ b/crypto/property/property_parse.c @@ -568,6 +568,7 @@ OSSL_PROPERTY_LIST *ossl_property_merge(const OSSL_PROPERTY_LIST *a, if (r == NULL) return NULL; + r->has_optional = 0; for (i = j = n = 0; i < a->n || j < b->n; n++) { if (i >= a->n) { copy = &bp[j++]; @@ -581,6 +582,7 @@ OSSL_PROPERTY_LIST *ossl_property_merge(const OSSL_PROPERTY_LIST *a, copy = &bp[j++]; } memcpy(r->properties + n, copy, sizeof(r->properties[0])); + r->has_optional |= copy->optional; } r->n = n; if (n != t)