diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2025-06-20 14:40:40 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-06-23 16:48:43 +0000 |
| commit | 1a7fb460b15fc14174513a2a2217c3a5b454ac49 (patch) | |
| tree | c732e6ca5dd0bf4a8ff043d0b2d0151d7688c762 /pkg/repro/repro.go | |
| parent | e37f12b27f7d237739d9d8ab7bbd11c94950a6b3 (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/repro.go')
| -rw-r--r-- | pkg/repro/repro.go | 12 |
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 +} |
