diff --git a/syft/pkg/apk_metadata.go b/syft/pkg/apk_metadata.go index 104564883..21abd50df 100644 --- a/syft/pkg/apk_metadata.go +++ b/syft/pkg/apk_metadata.go @@ -87,6 +87,8 @@ func (a *spaceDelimitedStringSlice) UnmarshalJSON(data []byte) error { } *a = s return nil + case nil: + return nil default: return fmt.Errorf("invalid type for string array: %T", obj) } diff --git a/syft/pkg/apk_metadata_test.go b/syft/pkg/apk_metadata_test.go index 8eaa210d7..a5e5f4121 100644 --- a/syft/pkg/apk_metadata_test.go +++ b/syft/pkg/apk_metadata_test.go @@ -98,6 +98,15 @@ func TestApkMetadata_UnmarshalJSON(t *testing.T) { Files: []ApkFileRecord{{Path: "/usr"}}, }, }, + { + name: "null pullDependencies", + input: `{ +"pullDependencies": null +}`, + want: ApkMetadata{ + Dependencies: nil, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {