aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2013-02-22 03:55:11 +0000
committerNIIBE Yutaka <[email protected]>2013-02-22 03:55:11 +0000
commit3c3648e720b8014828573bd708c88ba4775014e3 (patch)
treea80beffc08b31684e94fa626dba70f5a157b6bca
parentgpg: fix keytocard and support ECC card for key attribute. (diff)
downloadgnupg-3c3648e720b8014828573bd708c88ba4775014e3.tar.gz
gnupg-3c3648e720b8014828573bd708c88ba4775014e3.zip
agent: fix two bugs.
* agent/command.c (cmd_keytocard): Decrement KEYDATALEN. * agent/findkey.c (agent_public_key_from_file): Increment for ELEMS. -- For ECDSA and ECDH, there are 6 elements.
-rw-r--r--agent/command.c1
-rw-r--r--agent/findkey.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/agent/command.c b/agent/command.c
index 2844398f6..823b233bf 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -2197,6 +2197,7 @@ cmd_keytocard (assuan_context_t ctx, char *line)
gcry_sexp_sprint (s_skey, GCRYSEXP_FMT_CANON, keydata, keydatalen);
gcry_sexp_release (s_skey);
+ keydatalen--; /* Decrement for last '\0'. */
/* Add timestamp "created-at" in the private key */
timestamp = isotime2epoch (timestamp_str);
snprintf (keydata+keydatalen-1, 30, "(10:created-at10:%010lu))", timestamp);
diff --git a/agent/findkey.c b/agent/findkey.c
index b17870ef7..ebdcc038e 100644
--- a/agent/findkey.c
+++ b/agent/findkey.c
@@ -828,7 +828,7 @@ agent_public_key_from_file (ctrl_t ctrl,
int i, idx;
gcry_sexp_t s_skey;
char algoname[6];
- char elems[6];
+ char elems[7];
gcry_sexp_t uri_sexp, comment_sexp;
const char *uri, *comment;
size_t uri_length, comment_length;