]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: initialize Value with File length in cloneMultipartForm
author1911860538 <alxps1911@gmail.com>
Wed, 9 Apr 2025 22:28:56 +0000 (22:28 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 10 Apr 2025 00:04:40 +0000 (17:04 -0700)
Improve the initialization of the Value map in cloneMultipartForm by
utilizing the length of the File map to optimize memory allocation.

Change-Id: I97ba9e19b2718a75c270e6df21306f4c82656c71
GitHub-Last-Rev: a9683ba9a7cbb20213766fba8d9096b4f8591d86
GitHub-Pull-Request: golang/go#69943
Reviewed-on: https://go-review.googlesource.com/c/go/+/621235
Reviewed-by: Christian Ekrem <christianekrem@gmail.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: qiu laidongfeng2 <2645477756@qq.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>

src/net/http/clone.go

index 71f424227313d13b3cf93d3a49ce8fee15c84885..0c2daf85524a90f33f084a03234b30a9f6ab17ab 100644 (file)
@@ -68,7 +68,7 @@ func cloneMultipartForm(f *multipart.Form) *multipart.Form {
                Value: (map[string][]string)(Header(f.Value).Clone()),
        }
        if f.File != nil {
-               m := make(map[string][]*multipart.FileHeader)
+               m := make(map[string][]*multipart.FileHeader, len(f.File))
                for k, vv := range f.File {
                        vv2 := make([]*multipart.FileHeader, len(vv))
                        for i, v := range vv {