Skip to content

Commit db7df3a

Browse files
committed
Fix file descriptor leak
Signed-off-by: David Son <davbson@amazon.com>
1 parent b81ba3b commit db7df3a

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

fs/unpacker.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,19 @@ func (lu *layerUnpacker) Unpack(ctx context.Context, desc ocispec.Descriptor, mo
7777
if err != nil {
7878
return fmt.Errorf("cannot fetch layer: %w", err)
7979
}
80-
defer rc.Close()
8180

8281
if !local {
83-
if err = lu.fetcher.Store(ctx, desc, rc); err != nil {
82+
err := lu.fetcher.Store(ctx, desc, rc)
83+
rc.Close()
84+
if err != nil {
8485
return fmt.Errorf("cannot store layer: %w", err)
8586
}
86-
rc.Close()
8787
rc, _, err = lu.fetcher.Fetch(ctx, desc)
8888
if err != nil {
8989
return fmt.Errorf("cannot fetch layer: %w", err)
9090
}
9191
}
92+
defer rc.Close()
9293
parents, err := getLayerParents(mounts[0].Options)
9394
if err != nil {
9495
return fmt.Errorf("cannot get layer parents: %w", err)

0 commit comments

Comments
 (0)