diff --git a/test/standalone/libfuzzer/build.zig b/test/standalone/libfuzzer/build.zig index 1260ce6e71..eecddcd852 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 b0a18c8b20..21d785866d 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();