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