From ecbe6d99d3f2a394e35774d5970ecea076af988d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 26 Jun 2018 18:59:39 +0200 Subject: syz-fuzzer: fix testing when shmem is not used We get program output info only if shmem is used. Output info over pipes is not implemented. So don't fail when we got nothing. --- syz-fuzzer/testing.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/syz-fuzzer/testing.go b/syz-fuzzer/testing.go index 990891348..0819d4dc4 100644 --- a/syz-fuzzer/testing.go +++ b/syz-fuzzer/testing.go @@ -128,6 +128,7 @@ func checkSimpleProgram(args *checkArgs) error { if err != nil { return fmt.Errorf("failed to create ipc env: %v", err) } + defer env.Close() p := args.target.GenerateSimpleProg() output, info, failed, hanged, err := env.Exec(args.ipcExecOpts, p) if err != nil { @@ -139,6 +140,11 @@ func checkSimpleProgram(args *checkArgs) error { if failed { return fmt.Errorf("program failed:\n%s", output) } + if args.ipcConfig.Flags&ipc.FlagUseShmem == 0 { + // Output is currently only supported via shmem. + // So if we are using pipes, we won't get any info. + return nil + } if len(info) == 0 { return fmt.Errorf("no calls executed:\n%s", output) } -- cgit mrf-deployment