diff options
Diffstat (limited to 'g10/keygen.c')
-rw-r--r-- | g10/keygen.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/g10/keygen.c b/g10/keygen.c index 63e2f9cff..1f3d09994 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -1329,19 +1329,10 @@ ecckey_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp, int algo) if (err) goto leave; - l2 = gcry_sexp_find_token (list, "q", 0); - if (!l2) - { - err = gpg_error (GPG_ERR_NO_OBJ); - goto leave; - } - array[1] = gcry_sexp_nth_mpi (l2, 1, GCRYMPI_FMT_OPAQUE); - gcry_sexp_release (l2); - if (!array[1]) - { - err = gpg_error (GPG_ERR_INV_OBJ); - goto leave; - } + err = sexp_extract_param_sos (list, "q", &array[1]) + if (err) + goto leave; + gcry_sexp_release (list); if (algo == PUBKEY_ALGO_ECDH) |