net/http: multipart ReadForm close file after copy Always close the file regardless of whether the copy succeeds or fails. Pass along the close error if the copy succeeds Fixes #16296 Change-Id: Ib394655b91d25750f029f17b3846d985f673fb50 Reviewed-on: https://go-review.googlesource.com/30410 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/src/mime/multipart/formdata.go b/src/mime/multipart/formdata.go index 8085bd3..c9e3188 100644 --- a/src/mime/multipart/formdata.go +++ b/src/mime/multipart/formdata.go
@@ -79,8 +79,10 @@ if err != nil { return nil, err } - defer file.Close() _, err = io.Copy(file, io.MultiReader(&b, p)) + if cerr := file.Close(); err == nil { + err = cerr + } if err != nil { os.Remove(file.Name()) return nil, err