diff options
author | Marcus Brinkmann <[email protected]> | 2017-07-20 15:41:49 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2017-07-20 15:47:04 +0000 |
commit | 9998b162b47931fb8a8ed961d53418d505358888 (patch) | |
tree | c7cfb0d3b3f68bdc34882f21f176396dff4bc054 | |
parent | scd: Support longer data length for special DOs for v3 card. (diff) | |
download | gnupg-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.c | 10 |
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. */ |