From b8140fe3edf1a354ef0721a50e0d8af79cb35603 Mon Sep 17 00:00:00 2001 From: jonaustin09 Date: Tue, 10 Oct 2023 18:20:42 -0400 Subject: [PATCH] fix: Fixed error case when overwriting a directory object with file one --- backend/posix/posix.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/posix/posix.go b/backend/posix/posix.go index 91f7782..02d6867 100644 --- a/backend/posix/posix.go +++ b/backend/posix/posix.go @@ -989,6 +989,11 @@ func (p *Posix) PutObject(ctx context.Context, po *s3.PutObjectInput) (string, e } // object is file + d, err := os.Stat(name) + if err == nil && d.IsDir() { + return "", s3err.GetAPIError(s3err.ErrExistingObjectIsDirectory) + } + f, err := openTmpFile(filepath.Join(*po.Bucket, metaTmpDir), *po.Bucket, *po.Key, po.ContentLength) if err != nil {