From: Dr. Stephen Henson Date: Fri, 12 Mar 2010 12:48:46 +0000 (+0000) Subject: PR: 2192 X-Git-Tag: OpenSSL_1_0_0~16 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=118b90c59e6732839b5ebc0cfa56d1642ba45f69;p=oweals%2Fopenssl.git PR: 2192 Submitted By: Jaroslav Imrich The prompt_info and wrong_info parameters can be empty strings which can produce confusing prompts. Treat empty string same as NULL. --- diff --git a/engines/e_chil.c b/engines/e_chil.c index c0643256f2..3cb1386eed 100644 --- a/engines/e_chil.c +++ b/engines/e_chil.c @@ -1201,6 +1201,11 @@ static int hwcrhk_get_pass(const char *prompt_info, pem_password_cb *callback = NULL; void *callback_data = NULL; UI_METHOD *ui_method = NULL; + /* Despite what the documentation says prompt_info can be + * an empty string. + */ + if (prompt_info && !*prompt_info) + prompt_info = NULL; if (cactx) { @@ -1302,8 +1307,10 @@ static int hwcrhk_insert_card(const char *prompt_info, { char answer; char buf[BUFSIZ]; - - if (wrong_info) + /* Despite what the documentation says wrong_info can be + * an empty string. + */ + if (wrong_info && *wrong_info) BIO_snprintf(buf, sizeof(buf)-1, "Current card: \"%s\"\n", wrong_info); ok = UI_dup_info_string(ui, buf);