diff options
Diffstat (limited to 'src/net/http/server.go')
| -rw-r--r-- | src/net/http/server.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go index 905a8b9ad8..1b292ea2de 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -880,17 +880,19 @@ func (cw *chunkWriter) writeHeader(p []byte) { discard = true } case *body: + bdy.mu.Lock() switch { case bdy.closed: if !bdy.sawEOF { // Body was closed in handler with non-EOF error. w.closeAfterReply = true } - case bdy.unreadDataSize() >= maxPostHandlerReadBytes: + case bdy.unreadDataSizeLocked() >= maxPostHandlerReadBytes: tooBig = true default: discard = true } + bdy.mu.Unlock() default: discard = true } |
