aboutsummaryrefslogtreecommitdiffstats
path: root/prog/parse.go
Commit message (Collapse)AuthorAgeFilesLines
* tools/syz-execprog: support running unsafe programsDmitry Vyukov2024-11-261-2/+2
|
* prog: extract program IDs from the logsAleksandr Nogikh2024-08-221-1/+8
|
* go.mod, vendor: update (#3358)Taras Madan2022-09-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * go.mod, vendor: remove unnecessary dependencies Commands: 1. go mod tidy 2. go mod vendor * go.mod, vendor: update cloud.google.com/go Commands: 1. go get -u cloud.google.com/go 2. go mod tidy 3. go mod vendor * go.mod, vendor: update cloud.google.com/* Commands: 1. go get -u cloud.google.com/storage cloud.google.com/logging 2. go mod tidy 3. go mod vendor * go.mod, .golangci.yml, vendor: update *lint* Commands: 1. go get -u golang.org/x/tools github.com/golangci/golangci-lint@v1.47.0 2. go mod tidy 3. go mod vendor 4. edit .golangci.yml to suppress new errors (resolved in the same PR later) * all: fix lint errors hash.go: copy() recommended by gosimple parse.go: ent is never nil verifier.go: signal.Notify() with unbuffered channel is bad. Have no idea why. * .golangci.yml: adjust godot rules check-all is deprecated, but still work if you're hesitating too - I'll remove this commit
* all: refactor fault injection into call propsAleksandr Nogikh2021-09-221-11/+18
| | | | | | | | | | | | Now that call properties mechanism is implemented, we can refactor fault injection. Unfortunately, it is impossible to remove all traces of the previous apprach. In reprolist and while performing syz-ci jobs, syzkaller still needs to parse the old format. Remove the old prog options-based approach whenever possible and replace it with the use of call properties.
* prog: fix out-of-bounds accessDmitry Vyukov2019-07-301-1/+1
| | | | | ParseLog can access data out-of-bounds. Fix that and fix regression fuzz tests to catch this.
* prog: introduce strict parsing modeDmitry Vyukov2018-12-101-1/+1
| | | | | | | | | | | Over time we relaxed parsing to handle all kinds of invalid programs (excessive/missing args, wrong types, etc). This is useful when reading old programs from corpus. But this is harmful for e.g. reading test inputs as they can become arbitrary outdated. For runtests which creates additional problem of executing not what is actually written in the test (or at least what author meant). Add strict parsing mode that does not tolerate any errors. For now it just checks excessive syscall arguments.
* prog: remove default target and all global stateDmitry Vyukov2017-09-151-2/+2
| | | | | | Now each prog function accepts the desired target explicitly. No global, implicit state involved. This is much cleaner and allows cross-OS/arch testing, etc.
* csource: reproduce crashes with fault injectionDmitry Vyukov2017-05-261-12/+28
|
* prog: factor out execution log parsing functionalityDmitry Vyukov2015-12-231-0/+68
It will be needed to reproduction tool.