]> Cypherpunks repositories - gostls13.git/commitdiff
net/http: convert allowQuerySemicolonsInUse to atomic type
authorcui fliter <imcusg@gmail.com>
Thu, 8 Sep 2022 09:26:37 +0000 (09:26 +0000)
committerDamien Neil <dneil@google.com>
Fri, 9 Sep 2022 18:42:57 +0000 (18:42 +0000)
For #53821

Change-Id: I135783bd5472011f6a74d2f5ee34ce96ff49ad2b
GitHub-Last-Rev: 4da2d67ff3d19424c306e1de6a4152fc93785a97
GitHub-Pull-Request: golang/go#54863
Reviewed-on: https://go-review.googlesource.com/c/go/+/428336
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
src/net/http/server.go

index 3d427e5ae4bab6e836bbe7c6bf8bc548a367c6de..d96283ccc4dd1f8cda10b976efdbae3b5987dc1e 100644 (file)
@@ -2905,12 +2905,12 @@ func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request) {
        }
 
        if req.URL != nil && strings.Contains(req.URL.RawQuery, ";") {
-               var allowQuerySemicolonsInUse int32
+               var allowQuerySemicolonsInUse atomic.Bool
                req = req.WithContext(context.WithValue(req.Context(), silenceSemWarnContextKey, func() {
-                       atomic.StoreInt32(&allowQuerySemicolonsInUse, 1)
+                       allowQuerySemicolonsInUse.Store(true)
                }))
                defer func() {
-                       if atomic.LoadInt32(&allowQuerySemicolonsInUse) == 0 {
+                       if !allowQuerySemicolonsInUse.Load() {
                                sh.srv.logf("http: URL query contains semicolon, which is no longer a supported separator; parts of the query may be stripped when parsed; see golang.org/issue/25192")
                        }
                }()