From 59dc0059bcd6f5a1c087df322ccf766a20400c30 Mon Sep 17 00:00:00 2001 From: Kota Kanbe Date: Tue, 19 Jan 2021 09:01:35 +0900 Subject: [PATCH] fix(model): omit changelog from json if empty (#1137) --- models/packages.go | 2 +- models/packages_test.go | 2 +- report/util_test.go | 4 ++-- scan/debian.go | 8 ++++---- scan/debian_test.go | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/models/packages.go b/models/packages.go index f9231484..31f61168 100644 --- a/models/packages.go +++ b/models/packages.go @@ -81,7 +81,7 @@ type Package struct { NewRelease string `json:"newRelease"` Arch string `json:"arch"` Repository string `json:"repository"` - Changelog Changelog `json:"changelog"` + Changelog *Changelog `json:"changelog,omitempty"` AffectedProcs []AffectedProcess `json:",omitempty"` NeedRestartProcs []NeedRestartProcess `json:",omitempty"` } diff --git a/models/packages_test.go b/models/packages_test.go index 9dab5da2..a452dd8e 100644 --- a/models/packages_test.go +++ b/models/packages_test.go @@ -287,7 +287,7 @@ func TestPackage_FormatVersionFromTo(t *testing.T) { NewRelease: tt.fields.NewRelease, Arch: tt.fields.Arch, Repository: tt.fields.Repository, - Changelog: tt.fields.Changelog, + Changelog: &tt.fields.Changelog, AffectedProcs: tt.fields.AffectedProcs, NeedRestartProcs: tt.fields.NeedRestartProcs, } diff --git a/report/util_test.go b/report/util_test.go index 5f511f26..7ba499e9 100644 --- a/report/util_test.go +++ b/report/util_test.go @@ -267,7 +267,7 @@ func TestDiff(t *testing.T) { NewVersion: "5.1.73", NewRelease: "8.el6_8", Repository: "", - Changelog: models.Changelog{ + Changelog: &models.Changelog{ Contents: "", Method: "", }, @@ -305,7 +305,7 @@ func TestDiff(t *testing.T) { NewVersion: "5.1.73", NewRelease: "8.el6_8", Repository: "", - Changelog: models.Changelog{ + Changelog: &models.Changelog{ Contents: "", Method: "", }, diff --git a/scan/debian.go b/scan/debian.go index aeaede54..81884c39 100644 --- a/scan/debian.go +++ b/scan/debian.go @@ -968,7 +968,7 @@ func (o *debian) getCveIDsFromChangelog( // If the version is not in changelog, return entire changelog to put into cache pack := o.Packages[name] - pack.Changelog = models.Changelog{ + pack.Changelog = &models.Changelog{ Contents: changelog, Method: models.FailedToFindVersionInChangelog, } @@ -1018,7 +1018,7 @@ func (o *debian) parseChangelog(changelog, name, ver string, confidence models.C if !found { if o.Distro.Family == config.Raspbian { pack := o.Packages[name] - pack.Changelog = models.Changelog{ + pack.Changelog = &models.Changelog{ Contents: strings.Join(buf, "\n"), Method: models.ChangelogLenientMatchStr, } @@ -1032,7 +1032,7 @@ func (o *debian) parseChangelog(changelog, name, ver string, confidence models.C } pack := o.Packages[name] - pack.Changelog = models.Changelog{ + pack.Changelog = &models.Changelog{ Contents: "", Method: models.FailedToFindVersionInChangelog, } @@ -1046,7 +1046,7 @@ func (o *debian) parseChangelog(changelog, name, ver string, confidence models.C Method: confidence.DetectionMethod, } pack := o.Packages[name] - pack.Changelog = clog + pack.Changelog = &clog cves := []DetectedCveID{} for _, id := range cveIDs { diff --git a/scan/debian_test.go b/scan/debian_test.go index fa95c828..aa429eb7 100644 --- a/scan/debian_test.go +++ b/scan/debian_test.go @@ -794,7 +794,7 @@ vlc (3.0.10-0+deb10u1) buster-security; urgency=medium`, }, expect: expect{ cveIDs: []DetectedCveID{{"CVE-2020-13428", models.ChangelogExactMatch}}, - pack: models.Package{Changelog: models.Changelog{ + pack: models.Package{Changelog: &models.Changelog{ Contents: `vlc (3.0.11-0+deb10u1+rpt2) buster; urgency=medium * Add MMAL patch 19 @@ -837,7 +837,7 @@ vlc (3.0.11-0+deb10u1) buster-security; urgency=high }, expect: expect{ cveIDs: []DetectedCveID{}, - pack: models.Package{Changelog: models.Changelog{ + pack: models.Package{Changelog: &models.Changelog{ Contents: `realvnc-vnc (6.7.2.42622) stable; urgency=low * Debian package for VNC Server