From 9c6af8a724cc6af3757b165b78ad4bb60db36098 Mon Sep 17 00:00:00 2001 From: Pushpam Choudhary Date: Sat, 25 Jan 2020 20:13:59 +0530 Subject: [PATCH] No overwriting of global err before return --- common/test/client.go | 4 +++- common/test/config.go | 2 +- mediaapi/fileutils/fileutils.go | 5 ++++- roomserver/storage/postgres/invite_table.go | 4 +++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/common/test/client.go b/common/test/client.go index a38540ac9..3fd890522 100644 --- a/common/test/client.go +++ b/common/test/client.go @@ -82,7 +82,9 @@ func (r *Request) Do() (err error) { if err != nil { return err } - defer (func() { err = res.Body.Close() })() + defer (func() { + if err == nil { err = res.Body.Close() } + })() if res.StatusCode != r.WantedStatusCode { return fmt.Errorf("incorrect status code. Expected: %d Got: %d", r.WantedStatusCode, res.StatusCode) diff --git a/common/test/config.go b/common/test/config.go index 693555619..03586bb06 100644 --- a/common/test/config.go +++ b/common/test/config.go @@ -143,7 +143,7 @@ func NewMatrixKey(matrixKeyPath string) (err error) { } defer (func() { - err = keyOut.Close() + if err == nil {err = keyOut.Close()} })() err = pem.Encode(keyOut, &pem.Block{ diff --git a/mediaapi/fileutils/fileutils.go b/mediaapi/fileutils/fileutils.go index 36b2c5b89..89246d1ad 100644 --- a/mediaapi/fileutils/fileutils.go +++ b/mediaapi/fileutils/fileutils.go @@ -112,7 +112,10 @@ func WriteTempFile(reqReader io.Reader, maxFileSizeBytes config.FileSizeBytes, a if err != nil { return } - defer (func() { err = tmpFile.Close() })() + defer (func() { + if err == nil {err = tmpFile.Close() + } + })() // The amount of data read is limited to maxFileSizeBytes. At this point, if there is more data it will be truncated. limitedReader := io.LimitReader(reqReader, int64(maxFileSizeBytes)) diff --git a/roomserver/storage/postgres/invite_table.go b/roomserver/storage/postgres/invite_table.go index 43cd5ba09..f7fd6088f 100644 --- a/roomserver/storage/postgres/invite_table.go +++ b/roomserver/storage/postgres/invite_table.go @@ -120,7 +120,9 @@ func (s *inviteStatements) updateInviteRetired( if err != nil { return nil, err } - defer (func() { err = rows.Close() })() + defer (func() { + if err == nil {err = rows.Close()} + })() for rows.Next() { var inviteEventID string if err := rows.Scan(&inviteEventID); err != nil {