From 9a34e2142b426b98c73fd888102ea1596bbce62a Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Thu, 20 Oct 2016 20:01:46 +0900 Subject: [PATCH] agent, g10: Fix keygen. * agent/command.c (cmd_readkey): Get length after card_readkey. * g10/keygen.c (gen_card_key): Fix off-by-one error. -- Signed-off-by: NIIBE Yutaka --- agent/command.c | 2 +- g10/keygen.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/command.c b/agent/command.c index a291d5b68..7d8b4c461 100644 --- a/agent/command.c +++ b/agent/command.c @@ -1020,10 +1020,10 @@ cmd_readkey (assuan_context_t ctx, char *line) goto leave; } - pkbuflen = gcry_sexp_canon_len (pkbuf, 0, NULL, NULL); rc = agent_card_readkey (ctrl, keyid, &pkbuf); if (rc) goto leave; + pkbuflen = gcry_sexp_canon_len (pkbuf, 0, NULL, NULL); rc = gcry_sexp_sscan (&s_pkey, NULL, (char*)pkbuf, pkbuflen); if (rc) goto leave; diff --git a/g10/keygen.c b/g10/keygen.c index 90f8544cb..2115b5aed 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4876,7 +4876,7 @@ gen_card_key (int algo, int keyno, int is_primary, kbnode_t pub_root, unsigned char *public; gcry_sexp_t s_key; - snprintf (keyid, DIM(keyid)-1, "OPENPGP.%d", keyno); + snprintf (keyid, DIM(keyid), "OPENPGP.%d", keyno); keyid[DIM(keyid)-1] = 0; if (algo != PUBKEY_ALGO_RSA)