Merge pull request #9578 from cli/bundle-panic

Check for nil values to prevent nil dereference panic
This commit is contained in:
Cody Soyland 2024-09-06 16:17:53 -04:00 committed by GitHub
commit 3b7b7a4752
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -307,11 +307,19 @@ func buildTableVerifyContent(results []*verification.AttestationProcessingResult
content := make([][]string, len(results))
for i, res := range results {
if res.VerificationResult == nil ||
res.VerificationResult.Signature == nil ||
res.VerificationResult.Signature.Certificate == nil {
return nil, fmt.Errorf("bundle missing verification result fields")
}
builderSignerURI := res.VerificationResult.Signature.Certificate.Extensions.BuildSignerURI
repoAndOrg, workflow, err := extractAttestationDetail(builderSignerURI)
if err != nil {
return nil, err
}
if res.VerificationResult.Statement == nil {
return nil, fmt.Errorf("bundle missing attestation statement (bundle must originate from GitHub Artifact Attestations)")
}
predicateType := res.VerificationResult.Statement.PredicateType
content[i] = []string{repoAndOrg, predicateType, workflow}
}