diff --git a/test/standalone/libfuzzer/build.zig b/test/standalone/libfuzzer/build.zig index 1260ce6e71920876b0a9a3143487ca5e1287517e..eecddcd8521374344d6766846721572ad58bf2c3 100644 --- a/test/standalone/libfuzzer/build.zig +++ b/test/standalone/libfuzzer/build.zig @@ -22,5 +22,6 @@ pub fn build(b: *std.Build) void { b.default_step = run_step; const run_artifact = b.addRunArtifact(exe); + run_artifact.addArg(b.cache_root.path orelse ""); run_step.dependOn(&run_artifact.step); } diff --git a/test/standalone/libfuzzer/main.zig b/test/standalone/libfuzzer/main.zig index b0a18c8b20350e0f18202cd5562bbfbbe340e894..21d785866d15ce3b801190d5765d667e7c8e360d 100644 --- a/test/standalone/libfuzzer/main.zig +++ b/test/standalone/libfuzzer/main.zig @@ -15,7 +15,14 @@ extern fn fuzzer_init_corpus_elem(input_ptr: [*]const u8, input_len: usize) void extern fn fuzzer_coverage_id() u64; pub fn main() !void { - fuzzer_init(FuzzerSlice.fromSlice("")); + var gpa: std.heap.GeneralPurposeAllocator(.{}) = .init; + defer _ = gpa.deinit(); + const args = try std.process.argsAlloc(gpa.allocator()); + defer std.process.argsFree(gpa.allocator(), args); + + const cache_dir = args[1]; + + fuzzer_init(FuzzerSlice.fromSlice(cache_dir)); fuzzer_init_corpus_elem("hello".ptr, "hello".len); fuzzer_set_name("test".ptr, "test".len); _ = fuzzer_coverage_id();