diff options
| -rw-r--r-- | syz-fuzzer/fuzzer.go | 5 | ||||
| -rw-r--r-- | syz-fuzzer/testing.go | 12 |
2 files changed, 9 insertions, 8 deletions
diff --git a/syz-fuzzer/fuzzer.go b/syz-fuzzer/fuzzer.go index b96938091..28d2e849c 100644 --- a/syz-fuzzer/fuzzer.go +++ b/syz-fuzzer/fuzzer.go @@ -163,9 +163,10 @@ func main() { checkArgs.allSandboxes = r.AllSandboxes r.CheckResult, err = checkMachine(checkArgs) if err != nil { - r.CheckResult = &rpctype.CheckArgs{ - Error: err.Error(), + if r.CheckResult == nil { + r.CheckResult = new(rpctype.CheckArgs) } + r.CheckResult.Error = err.Error() } r.CheckResult.Name = *flagName if err := manager.Call("Manager.Check", r.CheckResult, nil); err != nil { diff --git a/syz-fuzzer/testing.go b/syz-fuzzer/testing.go index c193e313a..b2bb3615b 100644 --- a/syz-fuzzer/testing.go +++ b/syz-fuzzer/testing.go @@ -160,11 +160,11 @@ func checkMachine(args *checkArgs) (*rpctype.CheckArgs, error) { } for _, sandbox := range sandboxes { enabledCalls, disabledCalls, err := buildCallList(args.target, args.enabledCalls, sandbox) - if err != nil { - return nil, err - } res.EnabledCalls[sandbox] = enabledCalls res.DisabledCalls[sandbox] = disabledCalls + if err != nil { + return res, err + } } if args.allSandboxes { var enabled []int @@ -291,11 +291,11 @@ func buildCallList(target *prog.Target, enabledCalls []int, sandbox string) ( delete(calls, c) } } - if len(calls) == 0 { - return nil, nil, fmt.Errorf("all system calls are disabled") - } for c := range calls { enabled = append(enabled, c.ID) } + if len(calls) == 0 { + return enabled, disabled, fmt.Errorf("all system calls are disabled") + } return enabled, disabled, nil } |
