From fe514e1af79edf6e0092c2dc9385a60542f2bf5e Mon Sep 17 00:00:00 2001 From: Morten Linderud Date: Thu, 20 May 2021 00:26:59 +0200 Subject: [PATCH] Added errors to WriteFileDatabase Signed-off-by: Morten Linderud --- cmd/sbctl/remove-files.go | 4 +++- cmd/sbctl/sign-all.go | 4 +++- cmd/sbctl/verify.go | 3 +-- database.go | 8 ++++---- sbctl.go | 8 ++++++-- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/cmd/sbctl/remove-files.go b/cmd/sbctl/remove-files.go index 4fa3f26..2367ebc 100644 --- a/cmd/sbctl/remove-files.go +++ b/cmd/sbctl/remove-files.go @@ -25,7 +25,9 @@ var removeFileCmd = &cobra.Command{ os.Exit(1) } delete(files, args[0]) - sbctl.WriteFileDatabase(sbctl.DBPath, files) + if err := sbctl.WriteFileDatabase(sbctl.DBPath, files); err != nil { + return err + } return nil }, } diff --git a/cmd/sbctl/sign-all.go b/cmd/sbctl/sign-all.go index ccaddff..0af7ba2 100644 --- a/cmd/sbctl/sign-all.go +++ b/cmd/sbctl/sign-all.go @@ -42,7 +42,9 @@ var signAllCmd = &cobra.Command{ checksum := sbctl.ChecksumFile(entry.File) entry.Checksum = checksum files[entry.File] = entry - sbctl.WriteFileDatabase(sbctl.DBPath, files) + if err := sbctl.WriteFileDatabase(sbctl.DBPath, files); err != nil { + return err + } } return nil diff --git a/cmd/sbctl/verify.go b/cmd/sbctl/verify.go index 42857b7..c3cd6f5 100644 --- a/cmd/sbctl/verify.go +++ b/cmd/sbctl/verify.go @@ -2,7 +2,6 @@ package main import ( "errors" - "log" "os" "path/filepath" @@ -75,7 +74,7 @@ var verifyCmd = &cobra.Command{ } return nil }); err != nil { - log.Println(err) + return err } return nil }, diff --git a/database.go b/database.go index c398f4e..530702d 100644 --- a/database.go +++ b/database.go @@ -3,7 +3,6 @@ package sbctl import ( "encoding/json" "fmt" - "log" "os" ) @@ -27,15 +26,16 @@ func ReadFileDatabase(dbpath string) (SigningEntries, error) { return files, nil } -func WriteFileDatabase(dbpath string, files SigningEntries) { +func WriteFileDatabase(dbpath string, files SigningEntries) error { data, err := json.MarshalIndent(files, "", " ") if err != nil { - log.Fatal(err) + return err } err = os.WriteFile(dbpath, data, 0644) if err != nil { - log.Fatal(err) + return err } + return nil } func SigningEntryIter(fn func(s *SigningEntry) error) error { diff --git a/sbctl.go b/sbctl.go index 5824396..69e98ed 100644 --- a/sbctl.go +++ b/sbctl.go @@ -115,7 +115,9 @@ func Sign(file, output string, enroll bool) error { checksum := ChecksumFile(file) entry.Checksum = checksum files[file] = entry - WriteFileDatabase(DBPath, files) + if err := WriteFileDatabase(DBPath, files); err != nil { + return err + } } else { err = SignFile(DBKey, DBCert, file, output, "") // return early if signing fails @@ -127,7 +129,9 @@ func Sign(file, output string, enroll bool) error { if enroll { checksum := ChecksumFile(file) files[file] = &SigningEntry{File: file, OutputFile: output, Checksum: checksum} - WriteFileDatabase(DBPath, files) + if err := WriteFileDatabase(DBPath, files); err != nil { + return err + } } return err