|
@@ -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;
|
|
|
}
|
|
|
}
|