diff --git a/fuzz-harness.c b/fuzz-harness.c
index 19b01e368154fb780e188a72716d17f8f254a59d..822d4ac80f9cafc21377a202b2346a6679383a79 100644
--- a/fuzz-harness.c
+++ b/fuzz-harness.c
@@ -1,8 +1,25 @@
 #include "includes.h"
+#include "buffer.h"
+#include "dbutil.h"
 
 extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size);
 
 int main(int argc, char ** argv) {
-    LLVMFuzzerTestOneInput("hello", 5);
+    int i;
+    buffer *input = buf_new(100000);
+
+    for (i = 1; i < argc; i++) {
+        char* fn = argv[i];
+        buf_setlen(input, 0);
+        buf_readfile(input, fn);
+        buf_setpos(input, 0);
+
+        printf("Running %s\n", fn);
+        LLVMFuzzerTestOneInput(input->data, input->len);
+        printf("Done %s\n", fn);
+    }
+
+    printf("Finished\n");
+
     return 0;
 }