diff options
| author | chrislu <chris.lu@gmail.com> | 2022-01-17 23:09:37 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-01-17 23:09:37 -0800 |
| commit | c87b8f4c302d225cce45cdfc312c35ddbf7c8f86 (patch) | |
| tree | 31a7444e4314405f9fa3095901cc46e028e9b8ad | |
| parent | e271721d4ec04365b15be96d009e20cc6f64317e (diff) | |
| download | seaweedfs-c87b8f4c302d225cce45cdfc312c35ddbf7c8f86.tar.xz seaweedfs-c87b8f4c302d225cce45cdfc312c35ddbf7c8f86.zip | |
S3: fail fast when "X-Amz-Copy-Source" is a folder
fix https://github.com/chrislusf/seaweedfs/issues/2593
| -rw-r--r-- | weed/s3api/s3api_object_copy_handlers.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/s3api/s3api_object_copy_handlers.go b/weed/s3api/s3api_object_copy_handlers.go index 8af0cacf1..5c082eeda 100644 --- a/weed/s3api/s3api_object_copy_handlers.go +++ b/weed/s3api/s3api_object_copy_handlers.go @@ -38,6 +38,10 @@ func (s3a *S3ApiServer) CopyObjectHandler(w http.ResponseWriter, r *http.Request s3err.WriteErrorResponse(w, r, s3err.ErrInvalidCopySource) return } + if entry.IsDirectory { + s3err.WriteErrorResponse(w, r, s3err.ErrInvalidCopySource) + return + } entry.Extended = weed_server.SaveAmzMetaData(r, entry.Extended, isReplace(r)) err = s3a.touch(dir, name, entry) if err != nil { |
