2 # User Christian Holler <choller@mozilla.com>
3 # Date 1596126054 -7200
4 # Thu Jul 30 18:20:54 2020 +0200
5 # Node ID 8a2a26b33d516c43c366b2f24d731d27d9843349
6 # Parent 997c4109edd112695097fd8c55cbacd976cab24a
7 [libFuzzer] Allow external functions to be defined at runtime
9 diff --git a/FuzzerDriver.cpp b/FuzzerDriver.cpp
10 --- a/FuzzerDriver.cpp
11 +++ b/FuzzerDriver.cpp
12 @@ -608,17 +608,18 @@ static Vector<SizedFile> ReadCorpora(con
13 SizedFiles.push_back({File, Size});
17 int FuzzerDriver(int *argc, char ***argv, UserCallback Callback) {
18 using namespace fuzzer;
19 assert(argc && argv && "Argument pointers cannot be nullptr");
20 std::string Argv0((*argv)[0]);
21 - EF = new ExternalFunctions();
23 + EF = new ExternalFunctions();
24 if (EF->LLVMFuzzerInitialize)
25 EF->LLVMFuzzerInitialize(argc, argv);
26 if (EF->__msan_scoped_disable_interceptor_checks)
27 EF->__msan_scoped_disable_interceptor_checks();
28 const Vector<std::string> Args(*argv, *argv + *argc);
29 assert(!Args.empty());
30 ProgName = new std::string(Args[0]);
31 if (Argv0 != *ProgName) {