From 7548870e91b0e7d6b4b6a69256ac4786fa5c7976 Mon Sep 17 00:00:00 2001 From: Simon de Vlieger Date: Fri, 9 Feb 2024 10:07:23 +0100 Subject: [PATCH] jobsite/builder: check deferred close. Check the deffered close by providing a name return value. --- cmd/osbuild-jobsite-builder/main.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/osbuild-jobsite-builder/main.go b/cmd/osbuild-jobsite-builder/main.go index 600507ba9..3d24fe2e5 100644 --- a/cmd/osbuild-jobsite-builder/main.go +++ b/cmd/osbuild-jobsite-builder/main.go @@ -153,7 +153,7 @@ func (agent *Agent) HandleClaim(w http.ResponseWriter, r *http.Request) error { return nil } -func (agent *Agent) HandleProvision(w http.ResponseWriter, r *http.Request) error { +func (agent *Agent) HandleProvision(w http.ResponseWriter, r *http.Request) (err error) { agent.GuardState(StateProvision) if r.Method != "PUT" { @@ -167,7 +167,12 @@ func (agent *Agent) HandleProvision(w http.ResponseWriter, r *http.Request) erro os.O_WRONLY|os.O_CREATE|os.O_EXCL, 0400, ) - defer dst.Close() + + defer func() { + if cerr := dst.Close(); cerr != nil { + err = cerr + } + }() if err != nil { return fmt.Errorf("Agent.HandleProvision: Failed to open manifest.json.")