aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-execprog
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-06-04 07:53:02 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-06-04 08:47:22 +0000
commitda9e8155a4c58450c7d29339f10cea3dd75f15ae (patch)
tree53ddefd287bea721d3817b0580bfea54be0427ca /tools/syz-execprog
parentcbdf5571c6448c7ff3c1a394f191e522344fc2b0 (diff)
tools/syz-execprog: fix nil deref
ProgInfo.Extra may be nil if no extra coverage present.
Diffstat (limited to 'tools/syz-execprog')
-rw-r--r--tools/syz-execprog/execprog.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/syz-execprog/execprog.go b/tools/syz-execprog/execprog.go
index 68d7db128..f4f00471e 100644
--- a/tools/syz-execprog/execprog.go
+++ b/tools/syz-execprog/execprog.go
@@ -311,8 +311,10 @@ func (ctx *Context) dumpCoverage(coverFile string, info *flatrpc.ProgInfo) {
log.Logf(0, "call #%v: signal %v, coverage %v", i, len(inf.Signal), len(inf.Cover))
ctx.dumpCallCoverage(fmt.Sprintf("%v.%v", coverFile, i), inf)
}
- log.Logf(0, "extra: signal %v, coverage %v", len(info.Extra.Signal), len(info.Extra.Cover))
- ctx.dumpCallCoverage(fmt.Sprintf("%v.extra", coverFile), info.Extra)
+ if info.Extra != nil {
+ log.Logf(0, "extra: signal %v, coverage %v", len(info.Extra.Signal), len(info.Extra.Cover))
+ ctx.dumpCallCoverage(fmt.Sprintf("%v.extra", coverFile), info.Extra)
+ }
}
func (ctx *Context) getProgramIndex() int {