aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-06-22 14:44:17 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-06-22 16:40:45 +0200
commit91f52697d10d451839cd60ffcd6323e99af14011 (patch)
treedbda9bab43fd95cdb5afaea6e32e5c5a309f3d8f
parent2b949be2e15e9cb0765f72aa14227be316429381 (diff)
syz-fuzzer: panic less
Use log.Fatalf with readable messages instead of panic's.
-rw-r--r--syz-fuzzer/fuzzer.go2
-rw-r--r--syz-fuzzer/proc.go8
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)
}
}