mirror of
https://github.com/anchore/syft.git
synced 2026-02-14 19:46:42 +01:00
Fix panic when CycloneDX BOM missing metadata.component (#895)
This commit is contained in:
parent
6ef3e45ffc
commit
f4734d28b3
@ -46,7 +46,7 @@ func GetDecoder(format cyclonedx.BOMFileFormat) sbom.Decoder {
|
|||||||
|
|
||||||
func toSyftModel(bom *cyclonedx.BOM) (*sbom.SBOM, error) {
|
func toSyftModel(bom *cyclonedx.BOM) (*sbom.SBOM, error) {
|
||||||
meta := source.Metadata{}
|
meta := source.Metadata{}
|
||||||
if bom.Metadata != nil {
|
if bom.Metadata != nil && bom.Metadata.Component != nil {
|
||||||
meta = decodeMetadata(bom.Metadata.Component)
|
meta = decodeMetadata(bom.Metadata.Component)
|
||||||
}
|
}
|
||||||
s := &sbom.SBOM{
|
s := &sbom.SBOM{
|
||||||
|
|||||||
@ -258,3 +258,18 @@ func Test_decode(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Test_missingDataDecode(t *testing.T) {
|
||||||
|
bom := &cyclonedx.BOM{
|
||||||
|
Metadata: nil,
|
||||||
|
Components: &[]cyclonedx.Component{},
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := toSyftModel(bom)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
bom.Metadata = &cyclonedx.Metadata{}
|
||||||
|
|
||||||
|
_, err = toSyftModel(bom)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user