From 1ae8850d93925cf4b8b1b5dc9a05c0bec60100d9 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 15 Feb 2020 16:35:41 +0000 Subject: [PATCH] Pageant: unset decryption_prompt_active flag. We set it when we started prompting for a passphrase, and never unset it again when the passphrase prompt either succeeded or failed. Until now it hasn't mattered, because the only use of the flag is to suppress duplicate prompts, and once a key has been decrypted, we never need to prompt for it again, duplicate or otherwise. But that's about to change, so now this bug needs fixing. --- pageant.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pageant.c b/pageant.c index 9c75cca6..ced3f8f0 100644 --- a/pageant.c +++ b/pageant.c @@ -480,6 +480,7 @@ void pageant_passphrase_request_success(PageantClientDialogId *dlgid, assert(gui_request_in_progress); gui_request_in_progress = false; + pk->decryption_prompt_active = false; if (!pk->skey) { const char *error; @@ -536,6 +537,7 @@ void pageant_passphrase_request_refused(PageantClientDialogId *dlgid) assert(gui_request_in_progress); gui_request_in_progress = false; + pk->decryption_prompt_active = false; fail_requests_for_key(pk, "user refused to supply passphrase"); }