aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/workflow/fuzz-step
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-06-20 14:40:40 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-06-23 16:48:43 +0000
commit1a7fb460b15fc14174513a2a2217c3a5b454ac49 (patch)
treec732e6ca5dd0bf4a8ff043d0b2d0151d7688c762 /syz-cluster/workflow/fuzz-step
parente37f12b27f7d237739d9d8ab7bbd11c94950a6b3 (diff)
syz-cluster: report reproducers for findings
Move C repro generation from syz-manager to pkg/repro to avoid code duplication.
Diffstat (limited to 'syz-cluster/workflow/fuzz-step')
-rw-r--r--syz-cluster/workflow/fuzz-step/main.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/syz-cluster/workflow/fuzz-step/main.go b/syz-cluster/workflow/fuzz-step/main.go
index 9120ff3cd..6eee33bfa 100644
--- a/syz-cluster/workflow/fuzz-step/main.go
+++ b/syz-cluster/workflow/fuzz-step/main.go
@@ -259,7 +259,19 @@ func reportFinding(ctx context.Context, client *api.Client, bug *manager.UniqueB
Title: bug.Report.Title,
Report: bug.Report.Report,
Log: bug.Report.Output,
- // TODO: include the reproducer.
+ }
+ if repro := bug.Repro; repro != nil {
+ if repro.Prog != nil {
+ finding.SyzRepro = repro.Prog.Serialize()
+ finding.SyzReproOpts = repro.Opts.Serialize()
+ }
+ if repro.CRepro {
+ var err error
+ finding.CRepro, err = repro.CProgram()
+ if err != nil {
+ app.Errorf("failed to generate C program: %v", err)
+ }
+ }
}
return client.UploadFinding(ctx, finding)
}