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