aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-trace2syz
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2022-04-28 12:24:35 +0200
committerDmitry Vyukov <dvyukov@google.com>2022-04-28 16:44:23 +0200
commite9076525f882cc932139b6e813c39f3f0043c3f5 (patch)
tree8ff4f96be5f31e8ed68057e194b9adbfac904490 /tools/syz-trace2syz
parent8a1f1f07b4d5c51a99e439c5b13b0cd8bb742856 (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.go5
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
}