From 9998b162b47931fb8a8ed961d53418d505358888 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Thu, 20 Jul 2017 17:41:49 +0200 Subject: [PATCH] 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 GnuPG-bug-id: 2204 --- g10/getkey.c | 10 ++++++++-- 1 file 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. */