diff -up openssl-1.0.0e/engines/e_chil.c.chil openssl-1.0.0e/engines/e_chil.c --- openssl-1.0.0e/engines/e_chil.c.chil 2010-06-15 19:25:12.000000000 +0200 +++ openssl-1.0.0e/engines/e_chil.c 2011-09-21 17:32:03.000000000 +0200 @@ -1261,6 +1261,11 @@ static int hwcrhk_insert_card(const char UI *ui; 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) { @@ -1287,7 +1292,7 @@ static int hwcrhk_insert_card(const char if (ui) { - char answer; + char answer = '\0'; char buf[BUFSIZ]; /* Despite what the documentation says wrong_info can be * an empty string.