diff -up openssl-1.0.2a/engines/e_chil.c.chil openssl-1.0.2a/engines/e_chil.c --- openssl-1.0.2a/engines/e_chil.c.chil 2015-03-19 14:19:00.000000000 +0100 +++ openssl-1.0.2a/engines/e_chil.c 2015-04-21 17:06:25.480293443 +0200 @@ -1247,6 +1247,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) { if (cactx->ui_method) @@ -1268,7 +1273,7 @@ static int hwcrhk_insert_card(const char ui = UI_new_method(ui_method); if (ui) { - char answer; + char answer = '\0'; char buf[BUFSIZ]; /* * Despite what the documentation says wrong_info can be an empty