components/golang-17/patches/0034-release-branch.go1.7-net-http-multipart-ReadForm-clo.patch
changeset 7518 c388d4e1d3ad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/golang-17/patches/0034-release-branch.go1.7-net-http-multipart-ReadForm-clo.patch	Tue Dec 20 11:59:29 2016 -0800
@@ -0,0 +1,43 @@
+From fab76f07f54527cd5b0c7243bea96d9d3608582d Mon Sep 17 00:00:00 2001
+From: Michael Fraenkel <[email protected]>
+Date: Wed, 5 Oct 2016 11:27:34 -0400
+Subject: [PATCH 34/38] [release-branch.go1.7] 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
+
+Updates #16296
+Fixes #17965
+
+Change-Id: Ib394655b91d25750f029f17b3846d985f673fb50
+Reviewed-on: https://go-review.googlesource.com/30410
+Reviewed-by: Brad Fitzpatrick <[email protected]>
+Run-TryBot: Brad Fitzpatrick <[email protected]>
+TryBot-Result: Gobot Gobot <[email protected]>
+Reviewed-on: https://go-review.googlesource.com/33639
+Reviewed-by: Chris Broadfoot <[email protected]>
+Reviewed-by: Ian Lance Taylor <[email protected]>
+---
+ src/mime/multipart/formdata.go | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+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 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) {
+ 			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
+-- 
+2.7.4
+