fix: cleanup file descriptor leaks with chown fails

We were missing a few cases of cleaning up temp files and file
descriptors in the openTmpFile Chown() error cases.
This commit is contained in:
Ben McClelland
2026-03-26 15:45:20 -07:00
parent 6c8eba12e3
commit 927d1d668a
2 changed files with 5 additions and 0 deletions
+3
View File
@@ -101,6 +101,7 @@ func (p *Posix) openTmpFile(dir, bucket, obj string, size int64, acct auth.Accou
if doChown {
err := f.Chown(uid, gid)
if err != nil {
f.Close()
return nil, fmt.Errorf("set temp file ownership: %w", err)
}
}
@@ -141,6 +142,8 @@ func (p *Posix) openMkTemp(dir, bucket, obj string, size int64, dofalloc bool, u
if doChown {
err := f.Chown(uid, gid)
if err != nil {
f.Close()
os.Remove(f.Name())
return nil, fmt.Errorf("set temp file ownership: %w", err)
}
}
+2
View File
@@ -61,6 +61,8 @@ func (p *Posix) openTmpFile(dir, bucket, obj string, size int64, acct auth.Accou
if doChown {
err := f.Chown(uid, gid)
if err != nil {
f.Close()
os.Remove(f.Name())
return nil, fmt.Errorf("set temp file ownership: %w", err)
}
}