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