From e83310d8a2b1bb6418d041c8e48aad4ae2a8ae81 Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Wed, 5 Jul 2017 16:23:30 +0200 Subject: pkg/csource: make all usleeps random We can't know the exact values of those sleeps in advance, they can be different for different bugs. Making them random increases the chance that the C repro executes with the right timings at some point. --- pkg/csource/common.go | 2 -- pkg/csource/csource.go | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'pkg') diff --git a/pkg/csource/common.go b/pkg/csource/common.go index 90b1943fc..a2fcd6897 100644 --- a/pkg/csource/common.go +++ b/pkg/csource/common.go @@ -14,8 +14,6 @@ var commonHeader = ` #include #if defined(SYZ_EXECUTOR) || defined(SYZ_THREADED) || defined(SYZ_COLLIDE) #include -#endif -#if defined(SYZ_EXECUTOR) || defined(SYZ_COLLIDE) #include #endif #if defined(SYZ_EXECUTOR) || defined(SYZ_HANDLE_SEGV) diff --git a/pkg/csource/csource.go b/pkg/csource/csource.go index e52be3e88..32415e982 100644 --- a/pkg/csource/csource.go +++ b/pkg/csource/csource.go @@ -219,7 +219,7 @@ func generateTestFunc(w io.Writer, opts Options, calls []string, name string) { } fmt.Fprintf(w, "\tfor (i = 0; i < %v; i++) {\n", len(calls)) fmt.Fprintf(w, "\t\tpthread_create(&th[i], 0, thr, (void*)i);\n") - fmt.Fprintf(w, "\t\tusleep(10000);\n") + fmt.Fprintf(w, "\t\tusleep(rand()%%10000);\n") fmt.Fprintf(w, "\t}\n") if opts.Collide { fmt.Fprintf(w, "\tfor (i = 0; i < %v; i++) {\n", len(calls)) @@ -228,7 +228,7 @@ func generateTestFunc(w io.Writer, opts Options, calls []string, name string) { fmt.Fprintf(w, "\t\t\tusleep(rand()%%10000);\n") fmt.Fprintf(w, "\t}\n") } - fmt.Fprintf(w, "\tusleep(100000);\n") + fmt.Fprintf(w, "\tusleep(rand()%%100000);\n") fmt.Fprintf(w, "}\n\n") } } -- cgit mrf-deployment