fix: fix defer in loop

Signed-off-by: zhangyue <zy675793960@yeah.net>
This commit is contained in:
zhangyue 2018-12-13 10:55:49 +08:00
parent c7e31f1c5e
commit 9baecf66b8

View File

@ -59,7 +59,6 @@ func (c *Client) Install(ctx context.Context, image Image, opts ...InstallOpts)
if err != nil { if err != nil {
return err return err
} }
defer r.Close()
if _, err := archive.Apply(ctx, path, r, archive.WithFilter(func(hdr *tar.Header) (bool, error) { if _, err := archive.Apply(ctx, path, r, archive.WithFilter(func(hdr *tar.Header) (bool, error) {
d := filepath.Dir(hdr.Name) d := filepath.Dir(hdr.Name)
result := d == "bin" result := d == "bin"
@ -73,8 +72,10 @@ func (c *Client) Install(ctx context.Context, image Image, opts ...InstallOpts)
} }
return result, nil return result, nil
})); err != nil { })); err != nil {
r.Close()
return err return err
} }
r.Close()
} }
return nil return nil
} }