mirror of https://github.com/openssl/openssl
ossl_param_build_set_multi_key_bn(): Do not set NULL BIGNUMs
This makes them zeroes otherwise where NULLs actually mean the values aren't present. Fixes #21935 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> (Merged from https://github.com/openssl/openssl/pull/22334)
This commit is contained in:
parent
cd920f8fa1
commit
15a39e7025
|
@ -101,21 +101,22 @@ int ossl_param_build_set_multi_key_bn(OSSL_PARAM_BLD *bld, OSSL_PARAM *params,
|
|||
{
|
||||
int i, sz = sk_BIGNUM_const_num(stk);
|
||||
OSSL_PARAM *p;
|
||||
|
||||
const BIGNUM *bn;
|
||||
|
||||
if (bld != NULL) {
|
||||
for (i = 0; i < sz && names[i] != NULL; ++i) {
|
||||
if (!OSSL_PARAM_BLD_push_BN(bld, names[i],
|
||||
sk_BIGNUM_const_value(stk, i)))
|
||||
bn = sk_BIGNUM_const_value(stk, i);
|
||||
if (bn != NULL && !OSSL_PARAM_BLD_push_BN(bld, names[i], bn))
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < sz && names[i] != NULL; ++i) {
|
||||
bn = sk_BIGNUM_const_value(stk, i);
|
||||
p = OSSL_PARAM_locate(params, names[i]);
|
||||
if (p != NULL) {
|
||||
if (!OSSL_PARAM_set_BN(p, sk_BIGNUM_const_value(stk, i)))
|
||||
if (p != NULL && bn != NULL) {
|
||||
if (!OSSL_PARAM_set_BN(p, bn))
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue