File ep11.fix.config_dir.and.conf_name.handling.patch of Package openCryptoki.1904

diff -ur opencryptoki-vanilla/usr/lib/pkcs11/ep11_stdll/ep11_specific.c opencryptoki/usr/lib/pkcs11/ep11_stdll/ep11_specific.c
--- opencryptoki-vanilla/usr/lib/pkcs11/ep11_stdll/ep11_specific.c	2016-02-19 19:38:27.748458070 +0100
+++ opencryptoki/usr/lib/pkcs11/ep11_stdll/ep11_specific.c	2016-02-19 19:54:30.718458070 +0100
@@ -3764,18 +3764,21 @@
 		if (conf_name && strlen(conf_name) > 0) {
 			/* extract filename part from conf_name */
 			for (i=strlen(conf_name)-1; i >= 0 && conf_name[i] != '/'; i--);
-			if (i < strlen(conf_name)-1) {
-				snprintf(fname, sizeof(fname), "%s/%s", conf_dir, conf_name+i+1);
-				fname[sizeof(fname)-1] = '\0';
-				ap_fp = fopen(fname,"r");
-				EP11TOK_LOG(2,"fopen('%s') failed with errno %d", fname, errno);
-			}
+			snprintf(fname, sizeof(fname), "%s/%s", conf_dir, conf_name+i+1);
+			fname[sizeof(fname)-1] = '\0';
+			ap_fp = fopen(fname,"r");
+
+			if (!ap_fp)
+				EP11TOK_LOG(2, "fopen('%s') failed with errno %d",
+                                           fname, errno);
 		}
 		if (!ap_fp) {
 			snprintf(fname, sizeof(fname), "%s/%s", conf_dir, EP11_DEFAULT_CFG_FILE);
 			fname[sizeof(fname)-1] = '\0';
 			ap_fp = fopen(fname,"r");
-			EP11TOK_LOG(2,"fopen('%s') failed with errno %d", fname, errno);
+			if (!ap_fp)
+				EP11TOK_LOG(2, "fopen('%s') failed with errno %d",
+                                           fname, errno);
 		}
 	} else {
 		if (conf_name && strlen(conf_name) > 0) {
openSUSE Build Service is sponsored by