From 65dea5ff595b089c5d46131381f01d84b7dfd79a Mon Sep 17 00:00:00 2001 From: Eduardo Chappa Date: Thu, 4 May 2017 22:18:35 -0600 Subject: * Creating key for password file could not be cancelled. --- pith/smkeys.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pith/smkeys.c') diff --git a/pith/smkeys.c b/pith/smkeys.c index cd940868..46501d08 100644 --- a/pith/smkeys.c +++ b/pith/smkeys.c @@ -98,11 +98,13 @@ create_master_password(char *pass, size_t passlen, int first_time) _("Create master password \(attempt %d of %d): "), trial+1, MAXTRIAL); prompt[sizeof(prompt)- 1] = '\0'; pass[0] = '\0'; - do { + do { + /* rv == 1 means cancel */ rv = (pith_smime_enter_password)(prompt, pass, passlen); - if(password_policy_check(pass) == 0) + if(rv == 1 || password_policy_check(pass) == 0) pass[0] = '\0'; - } while ((rv !=0 && rv !=1 && rv > 0) || pass[0] == '\0'); + if(rv == 1) return 0; + } while ((rv != 0 && rv != 1) || (rv == 0 && pass[0] == '\0')); snprintf(prompt, sizeof(prompt), _("Confirm master password \(attempt %d of %d): "), trial+1, MAXTRIAL); -- cgit v1.2.3-54-g00ecf