From bceb0e04232d12179c73b92e15673cf62b4a1050 Mon Sep 17 00:00:00 2001 From: Filippo Valsorda Date: Fri, 23 Apr 2021 00:11:12 -0400 Subject: [PATCH] cmd/age,cmd/age-keygen: check Close() error on output files Fixes #81 --- cmd/age-keygen/keygen.go | 6 +++++- cmd/age/age.go | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cmd/age-keygen/keygen.go b/cmd/age-keygen/keygen.go index c744b48..5ab7222 100644 --- a/cmd/age-keygen/keygen.go +++ b/cmd/age-keygen/keygen.go @@ -94,7 +94,11 @@ func main() { if err != nil { log.Fatalf("Failed to open output file %q: %v", outFlag, err) } - defer f.Close() + defer func() { + if err := f.Close(); err != nil { + log.Fatalf("Failed to close output file %q: %v", outFlag, err) + } + }() out = f } diff --git a/cmd/age/age.go b/cmd/age/age.go index a060aee..a7f8eb9 100644 --- a/cmd/age/age.go +++ b/cmd/age/age.go @@ -184,7 +184,11 @@ func main() { } if name := outFlag; name != "" && name != "-" { f := newLazyOpener(name) - defer f.Close() + defer func() { + if err := f.Close(); err != nil { + logFatalf("Error: failed to close output file %q: %v", name, err) + } + }() out = f } else if terminal.IsTerminal(int(os.Stdout.Fd())) { if name != "-" {