aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/dashboard/handler.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-06-20 14:29:36 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-06-23 16:48:43 +0000
commite37f12b27f7d237739d9d8ab7bbd11c94950a6b3 (patch)
treecb19888bedfeffc7dcd48b544e4c27d8fc8f13e4 /syz-cluster/dashboard/handler.go
parent84d723cfd568e2286c960561ac5682fc741ab4b4 (diff)
syz-cluster: save and display reproducers for findings
Diffstat (limited to 'syz-cluster/dashboard/handler.go')
-rw-r--r--syz-cluster/dashboard/handler.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/syz-cluster/dashboard/handler.go b/syz-cluster/dashboard/handler.go
index 8799b1550..9b8503df3 100644
--- a/syz-cluster/dashboard/handler.go
+++ b/syz-cluster/dashboard/handler.go
@@ -258,6 +258,20 @@ func (h *dashboardHandler) findingInfo(w http.ResponseWriter, r *http.Request) e
return h.streamBlob(w, finding.ReportURI)
case "log":
return h.streamBlob(w, finding.LogURI)
+ case "syz_repro":
+ opts, err := blob.ReadAllBytes(h.blobStorage, finding.SyzReproOptsURI)
+ if err != nil {
+ return err
+ }
+ repro, err := blob.ReadAllBytes(h.blobStorage, finding.SyzReproURI)
+ if err != nil {
+ return err
+ }
+ fmt.Fprintf(w, "# %s\n", opts)
+ _, err = w.Write(repro)
+ return err
+ case "c_repro":
+ return h.streamBlob(w, finding.CReproURI)
default:
return fmt.Errorf("%w: unknown key value", errBadRequest)
}