diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2022-04-28 12:24:35 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2022-04-28 16:44:23 +0200 |
| commit | e9076525f882cc932139b6e813c39f3f0043c3f5 (patch) | |
| tree | 8ff4f96be5f31e8ed68057e194b9adbfac904490 /tools/syz-trace2syz | |
| parent | 8a1f1f07b4d5c51a99e439c5b13b0cd8bb742856 (diff) | |
tools/syz-trace2syz: fix a panic in tests
The openat filename argument is not necessary a pointer to a string.
It can be a pointer to a struct that builds a string by pieces.
Diffstat (limited to 'tools/syz-trace2syz')
| -rw-r--r-- | tools/syz-trace2syz/proggen/call_selector.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/syz-trace2syz/proggen/call_selector.go b/tools/syz-trace2syz/proggen/call_selector.go index 48a70ba88..3f6cb9031 100644 --- a/tools/syz-trace2syz/proggen/call_selector.go +++ b/tools/syz-trace2syz/proggen/call_selector.go @@ -145,7 +145,10 @@ func (cs *openCallSelector) matchOpen(meta *prog.Syscall, call *parser.Syscall) if _, ok := syzFileArg.(*prog.PtrType); !ok { return false, -1 } - syzBuf := syzFileArg.(*prog.PtrType).Elem.(*prog.BufferType) + syzBuf, ok := syzFileArg.(*prog.PtrType).Elem.(*prog.BufferType) + if !ok { + return false, -1 + } if syzBuf.Kind != prog.BufferString { return false, -1 } |
