From 1ac6aa80f6bb0b4deb3de864f2e1dc7b26a8ab4e Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Tue, 17 Dec 2024 15:41:18 +0100 Subject: pkg/osutil: add a WriteJSON helper --- syz-manager/manager.go | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'syz-manager') diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 40c1da6e5..1c86668f1 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -688,7 +688,10 @@ func (mgr *Manager) saveCrash(crash *manager.Crash) bool { log.Logf(0, "VM %v: crash: %v%v", crash.InstanceIndex, crash.Title, flags) if mgr.mode.FailOnCrashes { - mgr.saveJSON("report.json", crash.Report) + path := filepath.Join(mgr.cfg.Workdir, "report.json") + if err := osutil.WriteJSON(path, crash.Report); err != nil { + log.Fatal(err) + } log.Fatalf("kernel crashed in smoke testing mode, exiting") } @@ -742,16 +745,6 @@ func (mgr *Manager) saveCrash(crash *manager.Crash) bool { return mgr.NeedRepro(crash) } -func (mgr *Manager) saveJSON(filename string, object any) { - data, err := json.MarshalIndent(object, "", "\t") - if err != nil { - log.Fatalf("failed to serialize json data: %v", err) - } - if err := osutil.WriteFile(filepath.Join(mgr.cfg.Workdir, filename), data); err != nil { - log.Fatal(err) - } -} - func (mgr *Manager) needLocalRepro(crash *manager.Crash) bool { if !mgr.cfg.Reproduce || crash.Corrupted || crash.Suppressed { return false @@ -1197,7 +1190,10 @@ func (mgr *Manager) MachineChecked(features flatrpc.Feature, enabledSyscalls map if err != nil { log.Fatalf("interface probing failed: %v", err) } - mgr.saveJSON("interfaces.json", res) + path := filepath.Join(mgr.cfg.Workdir, "interfaces.json") + if err := osutil.WriteJSON(path, res); err != nil { + log.Fatal(err) + } mgr.exit("interface probe") }() return exec -- cgit mrf-deployment