aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2017-07-20 15:41:49 +0000
committerMarcus Brinkmann <[email protected]>2017-07-20 15:47:04 +0000
commit9998b162b47931fb8a8ed961d53418d505358888 (patch)
treec7cfb0d3b3f68bdc34882f21f176396dff4bc054
parentscd: Support longer data length for special DOs for v3 card. (diff)
downloadgnupg-9998b162b47931fb8a8ed961d53418d505358888.tar.gz
gnupg-9998b162b47931fb8a8ed961d53418d505358888.zip
g10: Return proper error when gpg-agent fails to start during probe.
* g10/getkey.c (lookup): Return immediately on any other error than GPG_ERR_NO_SECKEY from agent_probe_any_secret_key. Signed-off-by: Marcus Brinkmann <[email protected]> GnuPG-bug-id: 2204
-rw-r--r--g10/getkey.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index 285ea35d7..2bec98419 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -3741,8 +3741,14 @@ lookup (ctrl_t ctrl, getkey_ctx_t ctx, int want_secret,
goto skip;
}
- if (want_secret && agent_probe_any_secret_key (NULL, keyblock))
- goto skip; /* No secret key available. */
+ if (want_secret)
+ {
+ rc = agent_probe_any_secret_key (NULL, keyblock);
+ if (gpg_err_code(rc) == GPG_ERR_NO_SECKEY)
+ goto skip; /* No secret key available. */
+ if (rc)
+ goto found; /* Unexpected error. */
+ }
/* Warning: node flag bits 0 and 1 should be preserved by
* merge_selfsigs. */