| diff --git a/src/bin/fuzzer.c b/src/bin/fuzzer.c |
| index 9c2eb50..82d6fd6 100644 |
| @@ -125,7 +125,21 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) |
| - if (!dict_dir) dict_dir = DICTDIR; |
| + dict_dir = malloc(strlen((*argv)[0]) + 1); |
| + memcpy(dict_dir, (*argv)[0], strlen((*argv)[0]) + 1); |
| + snprintf(strrchr(dict_dir, '/'), 6, "/dict"); |
| + lib_dir = malloc(strlen((*argv)[0]) + 1); |
| + memcpy(lib_dir, (*argv)[0], strlen((*argv)[0]) + 1); |
| + snprintf(strrchr(lib_dir, '/'), 5, "/lib"); |
| + setenv("FR_LIBRARY_PATH", lib_dir, 1); |
| * When jobs=N is specified the fuzzer spawns worker processes via |
| @@ -182,6 +196,13 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) |