From 48b30a3efc7e9ca68236fea03524b08dcf172a23 Mon Sep 17 00:00:00 2001 From: Benedikt Kulmann Date: Mon, 19 Oct 2020 15:43:38 +0200 Subject: [PATCH] Close response bodies --- .../pkg/indexer/index/cs3/autoincrement.go | 9 +++++++-- accounts/pkg/indexer/index/cs3/non_unique.go | 9 +++++++-- accounts/pkg/indexer/index/cs3/unique.go | 9 +++++++-- accounts/pkg/storage/cs3.go | 20 +++++++++++++++---- 4 files changed, 37 insertions(+), 10 deletions(-) diff --git a/accounts/pkg/indexer/index/cs3/autoincrement.go b/accounts/pkg/indexer/index/cs3/autoincrement.go index 4fab26708b..6a9f013bd8 100644 --- a/accounts/pkg/indexer/index/cs3/autoincrement.go +++ b/accounts/pkg/indexer/index/cs3/autoincrement.go @@ -269,10 +269,13 @@ func (idx *Autoincrement) createSymlink(oldname, newname string) error { return os.ErrExist } - _, err = idx.dataProvider.put(newname, strings.NewReader(oldname), t) + resp, err := idx.dataProvider.put(newname, strings.NewReader(oldname), t) if err != nil { return err } + if err = resp.Body.Close(); err != nil { + return err + } return nil @@ -300,7 +303,9 @@ func (idx *Autoincrement) resolveSymlink(name string) (string, error) { b, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err - + } + if err = resp.Body.Close(); err != nil { + return "", err } return string(b), err } diff --git a/accounts/pkg/indexer/index/cs3/non_unique.go b/accounts/pkg/indexer/index/cs3/non_unique.go index 21949c3f4e..8e738b8dbd 100644 --- a/accounts/pkg/indexer/index/cs3/non_unique.go +++ b/accounts/pkg/indexer/index/cs3/non_unique.go @@ -336,10 +336,13 @@ func (idx *NonUnique) createSymlink(oldname, newname string) error { return os.ErrExist } - _, err = idx.dataProvider.put(newname, strings.NewReader(oldname), t) + resp, err := idx.dataProvider.put(newname, strings.NewReader(oldname), t) if err != nil { return err } + if err = resp.Body.Close(); err != nil { + return err + } return nil @@ -367,7 +370,9 @@ func (idx *NonUnique) resolveSymlink(name string) (string, error) { b, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err - + } + if err = resp.Body.Close(); err != nil { + return "", err } return string(b), err } diff --git a/accounts/pkg/indexer/index/cs3/unique.go b/accounts/pkg/indexer/index/cs3/unique.go index efc1f3adcd..3a4323c331 100644 --- a/accounts/pkg/indexer/index/cs3/unique.go +++ b/accounts/pkg/indexer/index/cs3/unique.go @@ -270,10 +270,13 @@ func (idx *Unique) createSymlink(oldname, newname string) error { return os.ErrExist } - _, err = idx.dataProvider.put(newname, strings.NewReader(oldname), t) + resp, err := idx.dataProvider.put(newname, strings.NewReader(oldname), t) if err != nil { return err } + if err = resp.Body.Close(); err != nil { + return err + } return nil @@ -301,7 +304,9 @@ func (idx *Unique) resolveSymlink(name string) (string, error) { b, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err - + } + if err = resp.Body.Close(); err != nil { + return "", err } return string(b), err } diff --git a/accounts/pkg/storage/cs3.go b/accounts/pkg/storage/cs3.go index 5fce0839c0..eb2ea0fa47 100644 --- a/accounts/pkg/storage/cs3.go +++ b/accounts/pkg/storage/cs3.go @@ -73,8 +73,14 @@ func (r CS3Repo) WriteAccount(ctx context.Context, a *proto.Account) (err error) return err } - _, err = r.dataProvider.put(r.accountURL(a.Id), bytes.NewReader(by), t) - return err + resp, err := r.dataProvider.put(r.accountURL(a.Id), bytes.NewReader(by), t) + if err != nil { + return err + } + if err = resp.Body.Close(); err != nil { + return err + } + return nil } // LoadAccount loads an account via cs3 by id and writes it to the provided account @@ -147,8 +153,14 @@ func (r CS3Repo) WriteGroup(ctx context.Context, g *proto.Group) (err error) { return err } - _, err = r.dataProvider.put(r.groupURL(g.Id), bytes.NewReader(by), t) - return err + resp, err := r.dataProvider.put(r.groupURL(g.Id), bytes.NewReader(by), t) + if err != nil { + return err + } + if err = resp.Body.Close(); err != nil { + return err + } + return nil } // LoadGroup loads a group via cs3 by id and writes it to the provided group