aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/repro
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 /pkg/repro
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 'pkg/repro')
-rw-r--r--pkg/repro/repro.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go
index ba951990d..a628d0b5d 100644
--- a/pkg/repro/repro.go
+++ b/pkg/repro/repro.go
@@ -989,3 +989,15 @@ func (stats *Stats) FullLog() []byte {
stats.ExtractProgTime, stats.MinimizeProgTime,
stats.SimplifyProgTime, stats.ExtractCTime, stats.SimplifyCTime, stats.Log))
}
+
+func (repro *Result) CProgram() ([]byte, error) {
+ cprog, err := csource.Write(repro.Prog, repro.Opts)
+ if err == nil {
+ formatted, err := csource.Format(cprog)
+ if err == nil {
+ return formatted, nil
+ }
+ return cprog, nil
+ }
+ return nil, err
+}