From 3da9017c17c7d2432c4b76345c4d2efbeedd2935 Mon Sep 17 00:00:00 2001 From: Joey Jiaojg Date: Wed, 26 May 2021 19:38:04 +0800 Subject: pkg/compiler: add glob type * all: add new typename dirname The current way to check files under sysfs or proc is: - define a string to represent each file - open the file - pass the fd to write / read / close The issues above are: - Need to know what file present on target device - Need to write openat for each file With dirname added, which will open one file in the directory randomly and then pass the fd to write/read/close. * all: use typename glob to match filename Fixes #481 --- prog/mutation.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'prog/mutation.go') diff --git a/prog/mutation.go b/prog/mutation.go index af6a458f0..9d6dc2118 100644 --- a/prog/mutation.go +++ b/prog/mutation.go @@ -349,6 +349,12 @@ func (t *BufferType) mutate(r *randGen, s *state, arg Arg, ctx ArgCtx) (calls [] } case BufferFilename: a.data = []byte(r.filename(s, t)) + case BufferGlob: + if len(t.Values) != 0 { + a.data = r.randString(s, t) + } else { + a.data = []byte(r.filename(s, t)) + } case BufferText: data := append([]byte{}, a.Data()...) a.data = r.mutateText(t.Text, data) -- cgit mrf-deployment