aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-06-12 19:52:51 +0200
committerDmitry Vyukov <dvyukov@google.com>2018-06-12 19:53:24 +0200
commit6dcbc4355bc1023f95f7dbdc4b2f38af7c0647b9 (patch)
tree9c2d05c890b649e29fd7e1a22e88c3dde0fb3bb2
parentb29d507d73faa0935d7d9bef7ff76652ad47cf4c (diff)
syz-fuzzer: fix image testing
During image testing we don't pass any enabledCalls, so use all syscalls in such case.
-rw-r--r--syz-fuzzer/testing.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/syz-fuzzer/testing.go b/syz-fuzzer/testing.go
index b2dc60411..e37975a23 100644
--- a/syz-fuzzer/testing.go
+++ b/syz-fuzzer/testing.go
@@ -139,11 +139,17 @@ func checkSimpleProgram(args *checkArgs) error {
func buildCallList(target *prog.Target, enabledCalls []int, sandbox string) (
enabled []int, disabled []rpctype.SyscallReason, err error) {
calls := make(map[*prog.Syscall]bool)
- for _, n := range enabledCalls {
- if n >= len(target.Syscalls) {
- return nil, nil, fmt.Errorf("unknown enabled syscall %v", n)
+ if len(enabledCalls) != 0 {
+ for _, n := range enabledCalls {
+ if n >= len(target.Syscalls) {
+ return nil, nil, fmt.Errorf("unknown enabled syscall %v", n)
+ }
+ calls[target.Syscalls[n]] = true
+ }
+ } else {
+ for _, c := range target.Syscalls {
+ calls[c] = true
}
- calls[target.Syscalls[n]] = true
}
_, unsupported, err := host.DetectSupportedSyscalls(target, sandbox)
if err != nil {