diff options
author | Andrew Gerrand <adg@golang.org> | 2011-10-17 15:54:36 +1100 |
---|---|---|
committer | Andrew Gerrand <adg@golang.org> | 2011-10-17 15:54:36 +1100 |
commit | 64471ae76204b116ab28c13f7008e90ae826a379 (patch) | |
tree | 94236583548b0d1ad0425215637c57476b57982f | |
parent | edd1c9111d9e7d140f186124a89d9c47239e27b1 (diff) | |
download | go-64471ae76204b116ab28c13f7008e90ae826a379.tar.gz go-64471ae76204b116ab28c13f7008e90ae826a379.zip |
http: fix panic when recovering from hijacked connection panic
Fixes #2375.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5279049
-rw-r--r-- | src/pkg/http/server.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/http/server.go b/src/pkg/http/server.go index 16071edec6..018be8cd3e 100644 --- a/src/pkg/http/server.go +++ b/src/pkg/http/server.go @@ -567,7 +567,9 @@ func (c *conn) serve() { if err == nil { return } - c.rwc.Close() + if c.rwc != nil { // may be nil if connection hijacked + c.rwc.Close() + } var buf bytes.Buffer fmt.Fprintf(&buf, "http: panic serving %v: %v\n", c.remoteAddr, err) |