From 91f52697d10d451839cd60ffcd6323e99af14011 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 22 Jun 2018 14:44:17 +0200 Subject: syz-fuzzer: panic less Use log.Fatalf with readable messages instead of panic's. --- syz-fuzzer/fuzzer.go | 2 +- syz-fuzzer/proc.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/syz-fuzzer/fuzzer.go b/syz-fuzzer/fuzzer.go index 5ba5e67d5..77a30cfce 100644 --- a/syz-fuzzer/fuzzer.go +++ b/syz-fuzzer/fuzzer.go @@ -351,7 +351,7 @@ func (fuzzer *Fuzzer) sendInputToManager(inp rpctype.RPCInput) { func (fuzzer *Fuzzer) addInputFromAnotherFuzzer(inp rpctype.RPCInput) { p, err := fuzzer.target.Deserialize(inp.Prog) if err != nil { - panic(err) + log.Fatalf("failed to deserialize prog from another fuzzer: %v", err) } sig := hash.Hash(inp.Prog) sign := inp.Signal.Deserialize() diff --git a/syz-fuzzer/proc.go b/syz-fuzzer/proc.go index 013b25beb..bb505daf3 100644 --- a/syz-fuzzer/proc.go +++ b/syz-fuzzer/proc.go @@ -75,7 +75,7 @@ func (proc *Proc) loop() { case *WorkSmash: proc.smashInput(item) default: - panic("unknown work type") + log.Fatalf("unknown work type: %#v", item) } continue } @@ -245,7 +245,7 @@ func (proc *Proc) execute(execOpts *ipc.ExecOpts, p *prog.Prog, flags ProgTypes, func (proc *Proc) executeRaw(opts *ipc.ExecOpts, p *prog.Prog, stat Stat) []ipc.CallInfo { if opts.Flags&ipc.FlagDedupCover == 0 { - panic("dedup cover is not enabled") + log.Fatalf("dedup cover is not enabled") } // Limit concurrency window and do leak checking once in a while. @@ -265,7 +265,7 @@ retry: } if err != nil { if _, ok := err.(ipc.ExecutorFailure); ok || try > 10 { - panic(err) + log.Fatalf("executor failed %v times:\n%v", try, err) } try++ log.Logf(4, "fuzzer detected executor failure='%v', retrying #%d\n", err, (try + 1)) @@ -317,6 +317,6 @@ func (proc *Proc) logProgram(opts *ipc.ExecOpts, p *prog.Prog) { f.Close() } default: - panic("unknown output type") + log.Fatalf("unknown output type: %v", proc.fuzzer.outputType) } } -- cgit mrf-deployment