oss-fuzz/projects/freeradius/patch.diff

24 lines
866 B
Diff
Raw Normal View History

diff --git a/src/bin/fuzzer.c b/src/bin/fuzzer.c
index 9c2eb50..6352aa0 100644
--- a/src/bin/fuzzer.c
+++ b/src/bin/fuzzer.c
@@ -125,7 +125,17 @@ int LLVMFuzzerInitialize(int *argc, char ***argv)
}
}
- if (!dict_dir) dict_dir = DICTDIR;
+ if (!dict_dir) {
+ dict_dir = malloc(strlen((*argv)[0]) + 1);
+ memcpy(dict_dir, (*argv)[0], strlen((*argv)[0]) + 1);
+ snprintf(strrchr(dict_dir, '/'), 6, "/dict");
+ }
+ if (!lib_dir) {
+ 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