Skip to content

Commit 209df0e

Browse files
authored
fix: always write report (#10)
1 parent 5efc22d commit 209df0e

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

main.go

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,26 @@ func realMain() int {
2828

2929
fixes, err := govulncheck.Parse(os.Stdin)
3030
if err != nil {
31-
fmt.Fprintf(os.Stderr, "vulnfix: %v\n", err)
31+
_, _ = fmt.Fprintf(os.Stderr, "vulnfix: %v\n", err)
3232
return 1
3333
}
3434

35+
var f *os.File
36+
if *outFile != "" && *outFile != "-" {
37+
f, err = os.Create(*outFile)
38+
if err != nil {
39+
_, _ = fmt.Fprintf(os.Stderr, "vulnfix: %v\n", err)
40+
return 1
41+
}
42+
defer func() { _ = f.Close() }()
43+
}
44+
3545
if len(fixes) == 0 {
36-
fmt.Fprintln(os.Stderr, "vulnfix: no fixable vulnerabilities found")
46+
if f != nil {
47+
_, _ = f.WriteString("# Vulnerability Report\n\nNo vulnerabilities found.\n")
48+
}
49+
50+
_, _ = fmt.Fprintln(os.Stdout, "vulnfix: no fixable vulnerabilities found")
3751
return 0
3852
}
3953

@@ -42,18 +56,11 @@ func realMain() int {
4256
versions[mod] = fix.Version
4357
}
4458
if err = modfix.Apply(ctx, *dir, versions); err != nil {
45-
fmt.Fprintf(os.Stderr, "vulnfix: %v\n", err)
59+
_, _ = fmt.Fprintf(os.Stderr, "vulnfix: %v\n", err)
4660
return 1
4761
}
4862

49-
if *outFile != "" && *outFile != "-" {
50-
f, err := os.Create(*outFile)
51-
if err != nil {
52-
fmt.Fprintf(os.Stderr, "vulnfix: %v\n", err)
53-
return 1
54-
}
55-
defer func() { _ = f.Close() }()
56-
63+
if f != nil {
5764
report.Write(f, fixes)
5865
}
5966
return 0

0 commit comments

Comments
 (0)