diff --git a/tests/hexdump_strdup.c b/tests/hexdump_strdup.c
index d7e083a..4d6b53f 100644
--- a/tests/hexdump_strdup.c
+++ b/tests/hexdump_strdup.c
@@ -34,11 +34,10 @@
 #include <string.h>
 
 const char *
-hexdump_strdup(const char *src)
+hexdump_memdup(const char *src, size_t len)
 {
-	size_t src_len = strlen(src);
-	size_t dst_size = 3 * src_len + 2;
-	assert(dst_size > src_len);
+	size_t dst_size = 3 * len + 2;
+	assert(dst_size > len);
 
 	char *dst = malloc(dst_size);
 	if (!dst)
@@ -46,8 +45,8 @@
 
 	char *p = dst;
 	const unsigned char *usrc = (const unsigned char *) src;
-	unsigned int i;
-	for (i = 0; usrc[i]; ++i) {
+	size_t i;
+	for (i = 0; i < len; ++i) {
 		unsigned int c = usrc[i];
 		*(p++) = ' ';
 		if (i == 8)
@@ -59,3 +58,9 @@
 
 	return dst;
 }
+
+const char *
+hexdump_strdup(const char *src)
+{
+	return hexdump_memdup(src, strlen(src));
+}
diff --git a/tests/tests.h b/tests/tests.h
index d8632ba..115379e 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -69,6 +69,9 @@
 /* Make a hexdump copy of C string */
 const char *hexdump_strdup(const char *);
 
+/* Make a hexdump copy of memory */
+const char *hexdump_memdup(const char *, size_t);
+
 /* Make a hexquoted copy of a string */
 const char *hexquote_strndup(const char *, size_t);
 
