diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-04-15 21:11:45 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-04-15 21:11:45 -0700 |
| commit | 59966561414997b18be3413d05c02a7eb15b6d12 (patch) | |
| tree | 19150700bf6e970261e4376799b00ac1e2e86a99 | |
| parent | 6e116b3d67a129dda31a9d3f3cd284856bf64deb (diff) | |
| download | seaweedfs-59966561414997b18be3413d05c02a7eb15b6d12.tar.xz seaweedfs-59966561414997b18be3413d05c02a7eb15b6d12.zip | |
volume: close request body if any parsing error
| -rw-r--r-- | weed/storage/needle_parse_multipart.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/weed/storage/needle_parse_multipart.go b/weed/storage/needle_parse_multipart.go index 3dba81fcf..93b4c2dce 100644 --- a/weed/storage/needle_parse_multipart.go +++ b/weed/storage/needle_parse_multipart.go @@ -3,6 +3,7 @@ package storage import ( "github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/operation" + "io" "io/ioutil" "mime" "net/http" @@ -13,6 +14,12 @@ import ( func parseMultipart(r *http.Request) ( fileName string, data []byte, mimeType string, isGzipped bool, originalDataSize int, isChunkedFile bool, e error) { + defer func() { + if e != nil && r.Body != nil { + io.Copy(ioutil.Discard, r.Body) + r.Body.Close() + } + }() form, fe := r.MultipartReader() if fe != nil { glog.V(0).Infoln("MultipartReader [ERROR]", fe) |
