From 4bcc6b3bbc58f21b7fb3fdbe8af5a54b7db35b32 Mon Sep 17 00:00:00 2001 From: Cosmin Cojocar Date: Wed, 22 Dec 2021 17:42:50 +0100 Subject: [PATCH] Handle nil when looking up a file by position into a package --- analyzer.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/analyzer.go b/analyzer.go index e140170069..535196178e 100644 --- a/analyzer.go +++ b/analyzer.go @@ -219,7 +219,12 @@ func (gosec *Analyzer) load(pkgPath string, conf *packages.Config) ([]*packages. func (gosec *Analyzer) Check(pkg *packages.Package) { gosec.logger.Println("Checking package:", pkg.Name) for _, file := range pkg.Syntax { - checkedFile := pkg.Fset.File(file.Pos()).Name() + fp := pkg.Fset.File(file.Pos()) + if fp == nil { + // skip files which cannot be located + continue + } + checkedFile := fp.Name() // Skip the no-Go file from analysis (e.g. a Cgo files is expanded in 3 different files // stored in the cache which do not need to by analyzed) if filepath.Ext(checkedFile) != ".go" {