@@ -239,12 +239,29 @@ func (s *scanService) HandleFirstPartyVulnResult(ctx context.Context, org models
239239 loc := result .Locations [0 ]
240240 firstPartyVulnerability .URI = utils .OrDefault (loc .PhysicalLocation .ArtifactLocation .URI , "" )
241241
242- snippetContent := dtos.SnippetContent {
243- StartLine : utils .OrDefault (loc .PhysicalLocation .Region .StartLine , 0 ),
244- EndLine : utils .OrDefault (loc .PhysicalLocation .Region .EndLine , 0 ),
245- StartColumn : utils .OrDefault (loc .PhysicalLocation .Region .StartColumn , 0 ),
246- EndColumn : utils .OrDefault (loc .PhysicalLocation .Region .EndColumn , 0 ),
247- Snippet : utils .OrDefault (loc .PhysicalLocation .Region .Snippet .Text , "" ),
242+ var snippetContent dtos.SnippetContent
243+
244+ if loc .PhysicalLocation .Region == nil {
245+ snippetContent = dtos.SnippetContent {
246+ StartLine : 0 ,
247+ EndLine : 0 ,
248+ StartColumn : 0 ,
249+ EndColumn : 0 ,
250+ Snippet : "" ,
251+ }
252+ } else {
253+ var checkedSnippet = ""
254+ if loc .PhysicalLocation .Region .Snippet != nil {
255+ checkedSnippet = utils .OrDefault (loc .PhysicalLocation .Region .Snippet .Text , "" )
256+ }
257+
258+ snippetContent = dtos.SnippetContent {
259+ StartLine : utils .OrDefault (loc .PhysicalLocation .Region .StartLine , 0 ),
260+ EndLine : utils .OrDefault (loc .PhysicalLocation .Region .EndLine , 0 ),
261+ StartColumn : utils .OrDefault (loc .PhysicalLocation .Region .StartColumn , 0 ),
262+ EndColumn : utils .OrDefault (loc .PhysicalLocation .Region .EndColumn , 0 ),
263+ Snippet : checkedSnippet ,
264+ }
248265 }
249266
250267 hash = firstPartyVulnerability .CalculateHash ()
0 commit comments