@@ -3,7 +3,6 @@ package state
33import (
44 "bytes"
55 "fmt"
6- "log"
76 "net/url"
87 "regexp"
98 "strings"
@@ -61,13 +60,13 @@ func parseCVSS(cvssURL string) (CVSS, error) {
6160 default : // Should be CVSS v2.0 or is invalid
6261 cvss , err := gocvss20 .ParseVector (out .Vector )
6362 if err != nil {
64- log . Fatal ( err )
63+ return CVSS {}, fmt . Errorf ( "failed to parse CVSS:2.0 vector %q: %w" , out . Vector , err )
6564 }
6665 out .Score = cvss .BaseScore ()
6766 case strings .HasPrefix (out .Vector , "CVSS:3.0" ):
6867 cvss , err := gocvss30 .ParseVector (out .Vector )
6968 if err != nil {
70- log . Fatal ( err )
69+ return CVSS {}, fmt . Errorf ( "failed to parse CVSS:3.0 vector %q: %w" , out . Vector , err )
7170 }
7271 out .Score = cvss .BaseScore ()
7372 out .Severity , err = gocvss30 .Rating (cvss .BaseScore ())
@@ -77,7 +76,7 @@ func parseCVSS(cvssURL string) (CVSS, error) {
7776 case strings .HasPrefix (out .Vector , "CVSS:3.1" ):
7877 cvss , err := gocvss31 .ParseVector (out .Vector )
7978 if err != nil {
80- log . Fatal ( err )
79+ return CVSS {}, fmt . Errorf ( "failed to parse CVSS:3.1 vector %q: %w" , out . Vector , err )
8180 }
8281 out .Score = cvss .BaseScore ()
8382 out .Severity , err = gocvss31 .Rating (cvss .BaseScore ())
@@ -87,7 +86,7 @@ func parseCVSS(cvssURL string) (CVSS, error) {
8786 case strings .HasPrefix (out .Vector , "CVSS:4.0" ):
8887 cvss , err := gocvss40 .ParseVector (out .Vector )
8988 if err != nil {
90- log . Fatal ( err )
89+ return CVSS {}, fmt . Errorf ( "failed to parse CVSS:4.0 vector %q: %w" , out . Vector , err )
9190 }
9291 out .Score = cvss .Score ()
9392 out .Severity , err = gocvss40 .Rating (cvss .Score ())
0 commit comments