diff options
Diffstat (limited to 'libgo/go/mime/multipart/formdata.go')
-rw-r--r-- | libgo/go/mime/multipart/formdata.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libgo/go/mime/multipart/formdata.go b/libgo/go/mime/multipart/formdata.go index 832d0ad..fca5f9e 100644 --- a/libgo/go/mime/multipart/formdata.go +++ b/libgo/go/mime/multipart/formdata.go @@ -8,7 +8,7 @@ import ( "bytes" "errors" "io" - "io/ioutil" + "math" "net/textproto" "os" ) @@ -41,6 +41,13 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) { // Reserve an additional 10 MB for non-file parts. maxValueBytes := maxMemory + int64(10<<20) + if maxValueBytes <= 0 { + if maxMemory < 0 { + maxValueBytes = 0 + } else { + maxValueBytes = math.MaxInt64 + } + } for { p, err := r.NextPart() if err == io.EOF { @@ -83,7 +90,7 @@ func (r *Reader) readForm(maxMemory int64) (_ *Form, err error) { } if n > maxMemory { // too big, write to disk and flush buffer - file, err := ioutil.TempFile("", "multipart-") + file, err := os.CreateTemp("", "multipart-") if err != nil { return nil, err } |