diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-03-06 09:01:48 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-03-06 09:01:48 +0100 |
| commit | 7fb694ef82d4dace30cf68efba5a6af705c94fa4 (patch) | |
| tree | a92ada6d7de6c4426a1ce6dfa2d4ffcac56de890 /prog/prio.go | |
| parent | 850c989d4fd3ac1fbd6d0e91f0bbf09d49e567ec (diff) | |
prog: sort enabled syscalls for determinism
Makes tests deterministic and syz-mutate with -seed flag.
Pointed out by Jordan Frank (@jwf).
Diffstat (limited to 'prog/prio.go')
| -rw-r--r-- | prog/prio.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/prog/prio.go b/prog/prio.go index 0e81528e5..b67bbaea0 100644 --- a/prog/prio.go +++ b/prog/prio.go @@ -221,6 +221,9 @@ func (target *Target) BuildChoiceTable(prios [][]float32, enabled map[*Syscall]b if len(enabledCalls) == 0 { panic(fmt.Sprintf("empty enabledCalls, len(target.Syscalls)=%v", len(target.Syscalls))) } + sort.Slice(enabledCalls, func(i, j int) bool { + return enabledCalls[i].ID < enabledCalls[j].ID + }) run := make([][]int, len(target.Syscalls)) for i := range run { if !enabled[target.Syscalls[i]] { |
