From: Dr. Stephen Henson Date: Fri, 12 Mar 2010 12:48:32 +0000 (+0000) Subject: PR: 2192 X-Git-Tag: OpenSSL-fips-2_0-rc1~1188 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=00947cea0cb1eec869f514e7f8474e8e3baeb0f2;p=openssl 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);