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