aboutsummaryrefslogtreecommitdiffstats
path: root/prog/encoding.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2021-09-23 16:15:41 +0000
committerAleksandr Nogikh <wp32pw@gmail.com>2021-12-10 12:30:07 +0100
commitfd8caa5462e64f37cb9eebd75ffca1737dde447d (patch)
treebfa900ebf41099b21476e72acdf063ee630178c9 /prog/encoding.go
parent4d4ce9bc2a12073dcc8b917f9fc2a4ecba26c4c5 (diff)
all: replace collide mode by `async` call property
Replace the currently existing straightforward approach to race triggering (that was almost entirely implemented inside syz-executor) with a more flexible one. The `async` call property instructs syz-executor not to block until the call has completed execution and proceed immediately to the next call. The decision on what calls to mark with `async` is made by syz-fuzzer. Ultimately this should let us implement more intelligent race provoking strategies as well as make more fine-grained reproducers.
Diffstat (limited to 'prog/encoding.go')
-rw-r--r--prog/encoding.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/prog/encoding.go b/prog/encoding.go
index 7c8cf6878..98dee8a8e 100644
--- a/prog/encoding.go
+++ b/prog/encoding.go
@@ -99,6 +99,7 @@ func (ctx *serializer) call(c *Call) {
switch kind := value.Kind(); kind {
case reflect.Int:
ctx.printf(": %d", value.Int())
+ case reflect.Bool:
default:
panic("unable to serialize call prop of type " + kind.String())
}
@@ -376,6 +377,8 @@ func (p *parser) parseCallProps() CallProps {
} else {
value.SetInt(intV)
}
+ case reflect.Bool:
+ value.SetBool(true)
default:
panic("unable to handle call props of type " + kind.String())
}