diff options
| author | Andrey Konovalov <andreyknvl@gmail.com> | 2016-11-22 16:12:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-22 16:12:43 +0100 |
| commit | 599adaf8f83defba1ebddf30e242b66175cf048a (patch) | |
| tree | dfd2a24dc5265e18683c285e90d0ae9b467ca696 | |
| parent | ab3f4a073671a0f36b23988e0ece7adbe476a053 (diff) | |
| parent | 5f1dc346935b8b0d7d4fc42457e7070d6d5c0e2a (diff) | |
Merge pull request #89 from xairy/small-fixes
Small fixes
| -rw-r--r-- | prog/mutation.go | 4 | ||||
| -rw-r--r-- | prog/validation.go | 6 | ||||
| -rw-r--r-- | syz-manager/html.go | 1 | ||||
| -rw-r--r-- | syz-manager/manager.go | 2 |
4 files changed, 10 insertions, 3 deletions
diff --git a/prog/mutation.go b/prog/mutation.go index 8d5fa36a4..80b7cdf54 100644 --- a/prog/mutation.go +++ b/prog/mutation.go @@ -388,14 +388,14 @@ func mutateData(r *randGen, data []byte, minLen, maxLen int) []byte { r.choose( 100, func() { // Append byte. - if len(data) == maxLen { + if len(data) >= maxLen { return } data = append(data, byte(r.rand(256))) }, 100, func() { // Remove byte. - if len(data) == minLen { + if len(data) <= minLen { return } if len(data) == 0 { diff --git a/prog/validation.go b/prog/validation.go index 6d84073ba..c30e2eecd 100644 --- a/prog/validation.go +++ b/prog/validation.go @@ -136,6 +136,12 @@ func (c *Call) validate(ctx *validCtx) error { } case ArgPageSize: case ArgData: + switch typ1 := typ.(type) { + case *sys.ArrayType: + if typ2, ok := typ1.Type.(*sys.IntType); !ok || typ2.Size() != 1 { + return fmt.Errorf("syscall %v: data arg '%v' should be an array", c.Meta.Name, typ.Name()) + } + } case ArgGroup: switch typ1 := typ.(type) { case *sys.StructType: diff --git a/syz-manager/html.go b/syz-manager/html.go index f29b95e4c..0884e6266 100644 --- a/syz-manager/html.go +++ b/syz-manager/html.go @@ -481,6 +481,7 @@ var summaryTemplate = template.Must(template.New("").Parse(addStyle(` <br> <b>Per-call coverage:</b> +<br> {{range $c := $.Calls}} {{$c.Name}} <a href='/corpus?call={{$c.Name}}'>inputs:{{$c.Inputs}}</a> diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 8f5839e29..b9d94301a 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -154,7 +154,7 @@ func RunManager(cfg *config.Config, syscalls map[int]bool, suppressions []*regex } mgr.candidates = append(mgr.candidates, data) } - Logf(0, "loaded %v programs", len(mgr.persistentCorpus.m)) + Logf(0, "loaded %v programs (%v total)", len(mgr.candidates), len(mgr.persistentCorpus.m)) // Create HTTP server. mgr.initHttp() |
