24 lines
851 B
Diff
24 lines
851 B
Diff
|
diff --git a/src/dh_crypto.c b/src/dh_crypto.c
|
||
|
index a847c6a2..1eb94307 100644
|
||
|
--- a/src/dh_crypto.c
|
||
|
+++ b/src/dh_crypto.c
|
||
|
@@ -341,8 +341,16 @@ int ssh_dh_set_parameters(struct dh_ctx *ctx,
|
||
|
goto done;
|
||
|
}
|
||
|
|
||
|
- OSSL_PARAM_BLD_push_BN(param_bld, OSSL_PKEY_PARAM_FFC_P, modulus);
|
||
|
- OSSL_PARAM_BLD_push_BN(param_bld, OSSL_PKEY_PARAM_FFC_G, generator);
|
||
|
+ rc = OSSL_PARAM_BLD_push_BN(param_bld, OSSL_PKEY_PARAM_FFC_P, modulus);
|
||
|
+ if (rc != 1) {
|
||
|
+ rc = SSH_ERROR;
|
||
|
+ goto done;
|
||
|
+ }
|
||
|
+ rc = OSSL_PARAM_BLD_push_BN(param_bld, OSSL_PKEY_PARAM_FFC_G, generator);
|
||
|
+ if (rc != 1) {
|
||
|
+ rc = SSH_ERROR;
|
||
|
+ goto done;
|
||
|
+ }
|
||
|
params = OSSL_PARAM_BLD_to_param(param_bld);
|
||
|
if (params == NULL) {
|
||
|
OSSL_PARAM_BLD_free(param_bld);
|