Blame SOURCES/110-fipshmac-compat.patch

8c1053
diff -up libkcapi-1.1.5/apps/kcapi-hasher.c.fipshmac-compat libkcapi-1.1.5/apps/kcapi-hasher.c
8c1053
--- libkcapi-1.1.5/apps/kcapi-hasher.c.fipshmac-compat	2019-01-23 07:14:51.000000000 +0100
8c1053
+++ libkcapi-1.1.5/apps/kcapi-hasher.c	2020-04-23 14:37:59.518173594 +0200
8c1053
@@ -386,10 +386,16 @@ static char *paste(char *dst, const char
8c1053
 static char *get_hmac_file(const char *filename, const char *checkdir)
8c1053
 {
8c1053
 	size_t i, filelen, pathlen, namelen, basenamestart = 0;
8c1053
-	size_t prefixlen = strlen(CHECK_PREFIX);
8c1053
+	const char *check_prefix = CHECK_PREFIX;
8c1053
+	size_t prefixlen = strlen(check_prefix);
8c1053
 	size_t suffixlen = strlen(CHECK_SUFFIX);
8c1053
 	char *cursor, *checkfile = NULL;
8c1053
 
8c1053
+	if (prefixlen == 0 && checkdir == NULL) {
8c1053
+		check_prefix = ".";
8c1053
+		prefixlen = 1;
8c1053
+	}
8c1053
+
8c1053
 	filelen = strlen(filename);
8c1053
 	if (filelen > 4096) {
8c1053
 		fprintf(stderr, "File too long\n");
8c1053
@@ -415,7 +421,7 @@ static char *get_hmac_file(const char *f
8c1053
 	} else if (pathlen > 0)
8c1053
 		cursor = paste(cursor, filename, pathlen);
8c1053
 
8c1053
-	cursor = paste(cursor, CHECK_PREFIX, prefixlen);
8c1053
+	cursor = paste(cursor, check_prefix, prefixlen);
8c1053
 	cursor = paste(cursor, filename + basenamestart, namelen);
8c1053
 	cursor = paste(cursor, "."CHECK_SUFFIX, 1 + suffixlen);
8c1053
 	strncpy(cursor, "\0", 1);