aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiz Prucka <lizprucka@google.com>2023-07-26 16:31:40 -0500
committerAleksandr Nogikh <nogikh@google.com>2023-07-27 12:25:16 +0000
commit924768299f97ac88b84f09eb979919305c8af5bb (patch)
tree85ca8858605d32c949da410a94c7ac81a69e694e
parent9fcb113b01af7d743c06d3c4b62fc56b44e35054 (diff)
syz-manager/rpc: canonicalize input before merging signal
-rw-r--r--syz-manager/rpc.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/syz-manager/rpc.go b/syz-manager/rpc.go
index 18d143ca5..b0b2bc4a4 100644
--- a/syz-manager/rpc.go
+++ b/syz-manager/rpc.go
@@ -256,9 +256,6 @@ func (serv *RPCServer) Check(a *rpctype.CheckArgs, r *int) error {
}
func (serv *RPCServer) NewInput(a *rpctype.NewInputArgs, r *int) error {
- inputSignal := a.Signal.Deserialize()
- log.Logf(4, "new input from %v for syscall %v (signal=%v, cover=%v)",
- a.Name, a.Call, inputSignal.Len(), len(a.Cover))
bad, disabled := checkProgram(serv.cfg.Target, serv.targetEnabledSyscalls, a.Input.Prog)
if bad || disabled {
log.Logf(0, "rejecting program from fuzzer (bad=%v, disabled=%v):\n%s", bad, disabled, a.Input.Prog)
@@ -271,6 +268,9 @@ func (serv *RPCServer) NewInput(a *rpctype.NewInputArgs, r *int) error {
if f != nil {
f.instModules.Canonicalize(a.Cover, a.Signal)
}
+ inputSignal := a.Signal.Deserialize()
+ log.Logf(4, "new input from %v for syscall %v (signal=%v, cover=%v)",
+ a.Name, a.Call, inputSignal.Len(), len(a.Cover))
// Note: f may be nil if we called shutdownInstance,
// but this request is already in-flight.
genuine := !serv.corpusSignal.Diff(inputSignal).Empty()